我正在嘗試使用 zabbix 中的 UserParameter 檢查 MySql 是否已啟動。
使用者參數看起來像這樣。
UserParameter=mysql.ping,sudo mysqladmin ping | 使用者參數=mysql.ping,sudo mysqladmin ping | grep -c 活著 |廁所-l
當我mysqladmin ping | grep -c alive
在伺服器中執行時,它給出了正確的回應。
#mysqladmin ping | grep 活著 |廁所-l
1
但是當我嘗試以 zabbix 使用者身份執行該命令時,出現以下錯誤:
# sudo -u zabbix sudo mysqladmin ping | grep 活著 | wc -l mysqladmin:連接到“localhost”處的伺服器失敗錯誤:“用戶“root”@“localhost”的存取被拒絕(使用>密碼:NO)”
0
只需運行以下工作:
# sudo -u zabbix mysqladmin
..列出 mysqladmin 中的各種指令
我已將 zabbix 添加到 sudoers 列表中,不需要密碼。
此問題僅針對 MySql,所有其他使用者參數(例如郵件、負載等)都正常運作。
答案1
您不需要經歷所有這些麻煩。您可以使用 UserParameter=mysql.status 配置 my.cnf 和 zabbix 代理。
這是您問題的解決方案:
https://www.zabbix.com/forum/showthread.php?t=40870