问题
安装 SCOM Linux 代理后,SCOM 可以正确监控 Linux 服务器,但检测不到 Apache 或 MySQL 实例,即在以下视图中 SCOM 中也未出现任何条目:
Apache HTTP Server/Apache HTTP Servers
MySQL/MySQL Servers
根据所有指南、文档和分步说明,上述条目应填写检测到 Apache 和 MySQL 实例的 Linux 服务器。这些条目应在执行任何进一步的配置步骤之前可用,并应提供用于配置大多数默认场景的简单配置任务。
Linux 实例本身受到适当的监控。
我在下面列出了所有相关信息和日志以及执行的步骤列表。
知道吗,我错过了什么?
环境
- SCOM 2016 UR4 配备最新版相应 UNIX/Linux 监控系列管理包(使用最新 UR 升级的媒体中的初始 MP)和 OSS(Apache、MySQL 和通用 OSS MP)
- CentOS Linux 版本 7.4.1708(核心),默认安装 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-bundled 1.0.8 版本手动升级而来,与捆绑版本不兼容ApacheHttpdProvider
,错误已归档)
安装历史记录
- 配置的用户:
scom-maint
和scom-monit
,以及 SCOM 端上适当的 RunAs 帐户和配置文件 - 已配置
/etc/sudoers.d/scom
- SCX 通过 SCOM 成功安装
apache-cimprov
以及mysql-cimprov
- Apache 和 MySQL 监控处于原始状态,未配置(例如未加载 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
是随机的。
答案1
该问题是由不正确的 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
使用通过特定配置的提升权限。