Недавно я реализовал ISC DHCP Failover, и он отлично работает, но я хотел бы отслеживать текущий статус аварийного переключения с помощью Nagios.
В конечном итоге я бы хотел, чтобы мой чек Nagios:
Мониторинг dhcpd
процесс, чтобы увидеть, запущен он или нет, к сожалению, не является истинным решением - состояние аварийного переключения может активироваться, даже если dhcpd
все еще работает.
Из того, что я исследовал, кажется dhcpd
нельзя запросить текущий статус. Помимо анализа файлов журналов, знает ли кто-нибудь чистый способ определить, dhcpd
сервер в данный момент находится в состоянии аварийного переключения или нет?
Для мониторинга настройки аварийного переключения я бы использовал команды OMAPI (например, через omshell), чтобы проверить состояние объекта аварийного переключения.
Учитывая, что вы правильно настроили свой сервер dhcpd для включения доступа OMAPI, вы можете использовать что-то вроде:
$ cat check-failover.cmd <<EOF
server localhost
port 7911
key omapi_key <KEY>
connect
new failover-state
set name = "<FAILOVER NAME>"
open
EOF
Затем используйте это как:
$ omshell < check-failover.cmd | grep state
partner-state = 00:00:00:02
local-state = 00:00:00:02
Состояние является целым числом, значение которого описано на странице руководства dhcpd.8 (1 - «запуск», 2 - «нормальный» и т. Д.).
Из этого должно быть довольно легко написать зонд Nagios / Shinken.
Вы рассматривали возможность простой проверки протокола и попытки получить аренду без настройки интерфейса с помощью dhclient -n?
Вы сможете различать первичный и вторичный сервер, проверив IP-адрес сервера, предоставляющего аренду, который dhclient выводит на stderr.
Похоже, вам нужен Nagios Анализ бизнес-процессов (BPI) добавить. Это позволяет отслеживать группу сервисов и устанавливать пороговые значения для предупреждений в зависимости от того, сколько из них работает.
Shinken также имеет встроенную функцию.
Вы можете использовать check_dhcp
из Плагины Nagios для мониторинга DHCP - он пытается получить аренду от определенного сервера и предупреждает, если это не так. Вместе с BPI вы сможете достичь того, о чем рассказали.
Из того, что я смог установить, вам придется использовать omshell. Это оболочка для вызовов OMAPI, API, который можно использовать для связи с работающим DHCP-сервером. Omshell обычно входит в пакет dhcp server (по крайней мере, он был в моем Linux-сервере Debian).
Однако не похоже, что omshell легко принимает входной файл. Возможно, вам придется немного поэкспериментировать.
После запуска omshell вам нужно будет выполнить команду удаленной оболочки в nagios, чтобы запустить omshell и вернуть результаты на сервер nagios.