Linux

SCOM 不檢測 Apache 或 MySQL 實例

  • December 16, 2017

問題

安裝 SCOM Linux Agent 後,SCOM 正常監控 Linux 伺服器,但未檢測到 Apache 或 MySQL 實例,即。在以下視圖中,SCOM 中均未出現條目:

  • Apache HTTP Server/Apache HTTP Servers
  • MySQL/MySQL Servers

根據所有指南、文件和分步說明,上述條目應填寫那些檢測到 Apache 和 MySQL 實例的 Linux 伺服器。這些條目應該在任何進一步的配置步驟之前可用,並且應該為配置大多數預設方案提供簡單的配置任務。

Linux 實例本身被正確監控。

我在下面列出了所有相關資訊和日誌以及執行的步驟列表。

任何想法,我錯過了什麼?

環境

  • SCOM 2016 UR4 與適當的 UNIX/Linux 監控系列的最新管理包(來自媒體的初始 MP 升級最新 UR)和 OSS(Apache、MySQL 和通用 OSS MP)

  • CentOS Linux 版本 7.4.1708 (Core),預設安裝 Apache 和 MariaDB(配置文件沒有變化)

  • 使用以下軟體包版本安裝的預設 SCOM Linux 代理:

    • scx-1.6.2-339.x86_64
    • mysql-cimprov-1.0.1-5.x86_64
    • apache-cimprov-1.0.1-9.x86_64
    • omi-1.2.0-35.x86_64(這個是從 SCX 捆綁的 1.0.8 版本手動升級的,與捆綁不兼容ApacheHttpdProvider,已送出錯誤

安裝歷史

  • 配置的使用者:scom-maintscom-monit,以及 SCOM 端的適當 RunAs 帳戶和配置文件
  • 已配置/etc/sudoers.d/scom
  • 通過 SCOM 成功安裝 SCXapache-cimprov以及mysql-cimprov
  • Apache 和 MySQL 監控處於 vanilla 狀態,未配置(例如,未載入 Apache 模組,未配置 MySQL 憑據),因為所有配置任務都應Apache/MySQL Servers通過視圖中可用的適當 SCOM 任務提供。

日誌和文件

  • /var/opt/omi/log/omiagent.root.root.log
    空,不包括與版本兼容性有關的錯誤ApacheHttpdProvider,升級到1.2.0omi後不再出現omi
  • /var/opt/omi/log/omiserver.log
    空,不包括與此錯誤Failed to execute PREEXEC program相關的錯誤,並且在註釋掉預設值後不再出現!includedir``/etc/my.cnf
  • /var/opt/microsoft/mysql-cimprov/log/mysqllog.log
    記錄一些與未配置的 MySQL 監控相關的錯誤
  • /var/opt/microsoft/mysql-cimprov/log/scom-monit/mysqllog.log
    與上一個文件非常相似
  • /var/opt/microsoft/apache-cimprov目錄不包含日誌或文件,只有一個空run目錄
  • /var/opt/scx/scx.log使用詳細選項生成的不包含apache/mysql關鍵字(檢查grep -i
  • /var/opt/scx/scom-monit/scx.log不包含錯誤(僅SCX Provider Module loaded

更新 1

在每個發現週期(每 4 小時)中發現並調查以下條目重複/var/log/secure

sudo: pam_unix(sudo:auth): conversation failed
sudo: pam_unix(sudo:auth): auth could not identify password for [scom-monit]
sudo: scom-monit : command not allowed ; TTY=unknown ; PWD=/var/opt/microsoft/scx/tmp ; USER=root ; COMMAND=/etc/opt/microsoft/scx/conf/tmpdir/scxuFPgv1

文件的最後 6 個字元COMMAND是隨機的。

該問題是由錯誤的 RunAs 帳戶配置引起的。為監控分配的配置文件配置為啟用了 sudo 提升。

SCOM 使用兩個配置文件來監控 UNIX/Linux 主機:

  • UNIX/Linux Action Account
  • UNIX/Linux Privileged Account

大多數指南建議您將單個帳戶用於兩個目的,但沒有明確說明該單個帳戶必須在 SCOM 中定義為兩個單獨的UNIX/Linux Accounts實例:

  • 應配置第一個實例Elevate this account using sudo for privileged access,然後將其分配給UNIX/Linux Privileged Account配置文件
  • 應配置第二個實例Do not use elevation with this account,然後將其分配給UNIX/Linux Action Account配置文件

現在看來,當 SCX 代理執行任務或命令時,沒有直接指定是否使用 sudo 的屬性,而是是否使用特權帳戶。UNIX/Linux Action Account並且,無論是否需要,都會使用特定配置的海拔高度。

引用自:https://serverfault.com/questions/888375