问题

问题

问题

安装 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-maintscom-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使用通过特定配置的提升权限。

相关内容