Я хотел бы контролировать свой сервер MySQL с помощью icinga2, как показано в заголовке выше. Мой сервер MySQL использует сокет unix. Я пробовал следующее:
object Service "MYSQL" {
import "generic-service"
check_command = "mysql"
vars.mysql_query_hostname = "/var/run/mysqld/mysqld.sock"
vars.mysql_ignore_auth = true
vars.mysql_port = 6800
host_name = "mysql.server"
}
и я перезапускаю службу icinga2. Когда я проверяю из сети icinga2, у меня возникает следующая ошибка службы MySQL: Выходные данные плагина Не удается подключиться к серверу MySQL на '192.168.2.4' (111)
Кажется, что icinga2 не может проверить службу MySQL с помощью сокета unix. Что-то не так с конфигурацией, которую я использую?
РЕДАКТИРОВАТЬ 1: Итак, я установил icinga2 на клиенте и настроил его как сателлит. Я читал, что агент icinga2 - это элегантный способ мониторинга сервисов удаленного сервиса. Поскольку эта настройка останется, я готов потратить время и усилия, чтобы настроить все правильно.
На сервере /etc/icinga2/conf.d/services.conf
apply Service "MySQL" {
import "generic-service"
check_command = "mysql"
command_endpoint = host.vars.client_endpoint
assign where host.vars.client_endpoint == "client1.example.com"
}
/etc/icinga2/conf.d/hosts.conf
object Host "client1.example.com" {
import "generic-host"
address = "192.168.2.4"
vars.client_endpoint = "client1.example.com"
vars.mysql_hostname = "/var/run/mysqld/mysqld.sock"
}
На клиенте я установил необходимый плагин «check_mysql», и icinga2 запущен. Когда я проверяю через веб-интерфейс icinga2, я все равно получаю следующий вывод подключаемого модуля: Вывод подключаемого модуля Не удается подключиться к серверу MySQL на «192.168.2.4» (111) Кажется, что он все еще проверяет через TCP. Что я делаю не так?
Icinga2 работает на том же сервере, что и ваша служба MySQL? В этом случае у вас будет проблема в вашей команде. Можете ли вы вставить подробную информацию о вашей команде в свой вопрос.
В другом случае, чтобы протестировать сокет Unix для mysql, который не прослушивает порт TCP, вы должны использовать NRPE или SSH для подключения к вашему серверу mysql и проверить службу. Результат будет отправлен на ваш сервер icinga2.
РЕДАКТИРОВАТЬ 1:
Если вы хотите протестировать службу, у которой нет слушателя в сети на удаленном сервере, вы можете использовать несколько вещей:
При этом вы сможете выполнять удаленные команды на своем удаленном сервере, и ответ на эту команду будет отправлен на ваш сервер icinga2. Это решение устанавливает конфигурацию ssh между вашими серверами.
В противном случае вы можете установить NRPE на удаленном сервере и выполнять команды, результаты которых будут отправлены на ваш сервер icinga2.
NRPE можно запускать в Windows или Linux.
Я думаю, что эти два решения проще, чем установка icinga2 в качестве сателлита на все ваши серверы для наблюдения.