Задача: Мне нужно контролировать облачную среду с множеством удаленных хостов.
Моя проблема: У меня есть БД с текущими низкоуровневыми деталями конфигурации и состояния хостов, созданная при первоначальном сканировании среды. Я хочу, чтобы данные в моей БД обновлялись при возникновении проблем, например. какой-то сетевой интерфейс неисправен. Примечание: изменения в облачном окружении. setup перехватываются путем прослушивания очереди сообщений облачной среды и, таким образом, обрабатываются отдельно.
Что я ищу: По причинам масштабируемости я хочу использовать пассивные проверки Nagios, то есть заставить хосты отправлять обновления состояния с помощью NSCA или NRDP или чего-либо еще, что сделает эту работу. После получения результата проверки я хочу использовать обработчик событий для запуска сценария, который обновит мою базу данных конфигурации. Примечание. Я предполагаю, что хосты имеют избыточность NIC, поэтому мне не нужно запускать активные проверки связи с сервера.
Я пытался понять, как это сделать, но вижу только ссылки либо на пассивные проверки, либо на обработчики событий, использующие активные проверки. Как мне это сделать?
Вы можете заставить его работать, используя статическую конфигурацию для вашей службы.
Вот моя статическая конфигурация для выполнения моего скрипта Python для предупреждений о диске.
define service {
host_name my host
service_description / Disk Usage
check_command check_nrpe!check_disk!-a '-w 20% -c 10% -p /'!!!!!!
event_handler my_command.py
initial_state o
max_check_attempts 5
check_interval 10
retry_interval 1
check_period 24x7
notification_period 24x7
notifications_enabled 1
register 1
}
Во-первых, вам нужно будет создать команду в Nagios CCM.
(В моем случае это my_command.py)
Определите имя команды и аргументы, которые должны передаваться с ней.
Вы можете хранить свой скрипт в / usr / local / nagios / libexec /, который выглядит как $USER1$
в Нагиосе.
Затем определите статическую конфигурацию в / usr / local / nagios / etc / static (которая может отличаться в зависимости от вашей установки), как указано выше.
Надеюсь, это поможет, и еще не поздно ответить. ;)