Назад | Перейти на главную страницу

Мониторинг состояния аварийного переключения ISC DHCP с помощью Nagios

Недавно я реализовал ISC DHCP Failover, и он отлично работает, но я хотел бы отслеживать текущий статус аварийного переключения с помощью Nagios.

В конечном итоге я бы хотел, чтобы мой чек Nagios:

  • сообщить ПРЕДУПРЕЖДЕНИЕ когда срабатывает вторичный DHCP-сервер (начинает обслуживать адреса из-за проблемы с первичным)
  • сообщить КРИТИЧЕСКИЙ когда и основной, и дополнительный не активны.
  • Мониторинг 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.