我想通过在zabbix中使用UserParameter来检查MySql是否启动。
UserParameter看起来像这样。
UserParameter = mysql.ping,sudo mysqladmin ping | grep -c alive | wc -l
当我执行mysqladmin ping | grep -c alive mysqladmin ping | grep -c alive在服务器中mysqladmin ping | grep -c alive ,它给了我正确的回应。
#mysqladmin ping | grep alive | wc -l
1
但是当我尝试以zabbix用户的身份运行该命令时,出现以下错误:
#sudo -u zabbix sudo mysqladmin ping | grep alive | wc -l mysqladmin:连接到服务器'localhost'失败的错误:'拒绝访问用户'root'@'localhost'(使用>密码:否)'
0
只要运行以下工作:
#sudo -u zabbix mysqladmin
列出了mysqladmin中的各种命令
我已经将zabbix添加到sudoers列表中,不需要密码。
这个问题只适用于MySql,所有其他UserParameters(如邮件,加载等)工作正常。
你不需要经历这一切麻烦。 你可以使用UserParameter = mysql.statusconfiguration你的my.cnf和zabbix代理。
这是你的问题的解决scheme:
https://www.zabbix.com/forum/showthread.php?t=40870