![远程监控MySQL-MMM监控主机状态](https://linux22.com/image/528056/%E8%BF%9C%E7%A8%8B%E7%9B%91%E6%8E%A7MySQL-MMM%E7%9B%91%E6%8E%A7%E4%B8%BB%E6%9C%BA%E7%8A%B6%E6%80%81.png)
我有一个简单的MySQL的MMM设置专用监控主机,如其所述安装指南。我还有一个单独的监控系统,可以检查状态 URL,因此我想设置一些简单的监视器,以根据此命令的输出检查状态:
[root@host ~]# mmm_control show
db1(10.10.1.15) master/ONLINE. Roles: writer(10.10.1.20)
db2(10.10.1.16) master/ONLINE. Roles: reader(10.10.1.30)
db3(10.10.1.17) slave/ONLINE. Roles: reader(10.10.1.31)
不幸的是,因为这是 /usr/sbin 中的命令并且似乎需要在 root 环境中运行,所以我不能简单地从 CGI 执行它。
有人可以建议一种远程监控 MMM 状态的简单方法吗?
答案1
在我看来,使用 NOPASSWD 的 sudo 是正确的选择,我经常使用它来以非常精细的方式授予监控脚本权限。下面是我的国家可再生能源计划配置文件证明:
command[check_md_raid]=/usr/bin/sudo /usr/lib/nagios/plugins/check_md_raid
以及来自sudoers
nagios ALL=(root) NOPASSWD: /usr/lib/nagios/plugins/check_md_raid
如果您认为它有点过度,我很想知道为什么,因为它和我能想到的任何东西一样细致、调试良好并且易于设置!
答案2
戴夫,您应该能够通过以具有运行该命令权限的用户身份运行 SSH 命令从 CGI 或 PHP 脚本执行它。
该脚本将以具有权限的用户身份登录,执行命令,收集结果,然后您可以根据这些结果返回状态。
在 PHP 中您可以使用 ssh2_connect。http://php.net/manual/en/function.ssh2-connect.php