我有一个简单的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的状态?
对于我的钱来说,使用NOPASSWD的sudo是正确的select,我经常使用它来以非常细致的方式给予监控脚本特权。 以下是我的NRPEconfiguration文件中的一行,certificate:
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
如果你认为这是过度的,我会很有兴趣知道为什么,因为它就像我能想到的那样细致,debugging和易于设置!
Dave,你应该能够通过运行一个SSH命令作为有权运行命令的用户从CGI或PHP脚本执行它。
脚本将以具有权限的用户身份login,执行命令并收集结果,然后可以基于这些结果返回状态。
在PHP中,您可以使用ssh2_connect。 http://php.net/manual/en/function.ssh2-connect.php