Я пытаюсь проверить, работает ли MySql, используя UserParameter в Zabbix.
UserParameter выглядит следующим образом.
UserParameter=mysql.ping,sudo mysqladmin ping | grep -c alive | wc -l
Когда я выполняю команду 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, все остальные пользовательские параметры (например, mail, load и т. д.) работают нормально.
решение1
Вам не нужно проходить через все эти хлопоты. Вы можете настроить my.cnf и агента zabbix с помощью UserParameter=mysql.status.
Вот решение вашей проблемы:
https://www.zabbix.com/forum/showthread.php?t=40870