Плагины помогают контролировать базы данных, операционные системы, приложения, сетевое оборудование, протоколы с Nagios. Плагины — это скомпилированные исполняемые файлы или сценарии (Perl или не-Perl), которые расширяют функциональность Nagios для мониторинга серверов и хостов. Nagios запустит плагин для проверки статуса службы или хоста. Nagios может быть скомпилирован с поддержкой встроенного интерпретатора Perl для выполнения плагинов Perl. Без этого Nagios выполняет плагины Perl и не-Perl, разветвляясь и выполняя плагины как внешнюю команду.
Типы плагинов Nagios
В Nagios есть следующие плагины:
Официальные плагины Nagios — Есть 50 официальных плагинов Nagios. Официальные плагины Nagios разрабатываются и поддерживаются официальной командой плагинов Nagios.
Плагины сообщества. Существует более 3000 сторонних плагинов Nagios, разработанных сотнями членов сообщества Nagios.
Пользовательские плагины — Вы также можете написать свои собственные пользовательские плагины. Существуют определенные рекомендации, которые необходимо соблюдать при написании пользовательских плагинов.
Руководство по написанию пользовательских плагинов Nagios
При написании собственного плагина в Nagios вы должны следовать приведенным ниже рекомендациям —
- Плагины должны предоставлять параметр командной строки «-V» (проверьте изменения конфигурации)
- Распечатать только одну строку текста
- Распечатать диагностическую и только часть справочного сообщения
- Сетевые плагины используют DEFAULT_SOCKET_TIMEOUT для тайм-аута
- «-v» или «—verbose» относится к уровню многословия
- «-t» или «—timeout» (время ожидания плагина);
- «-w» или «—warning» (порог предупреждения);
- «-c» или «—critical» (критический порог);
- «-H» или «—hostname» (имя хоста для проверки)
Несколько плагинов Nagios запускаются и выполняют проверки одновременно, чтобы все они работали без сбоев, плагин Nagios следует коду состояния. В приведенной ниже таблице указано состояние кода выхода и его описание.
Код выхода | Статус | Описание |
---|---|---|
0 | Хорошо | Работает нормально |
1 | ПРЕДУПРЕЖДЕНИЕ | Работает нормально, но требует внимания |
2 | КРИТИЧЕСКИЕ | Не работает правильно |
3 | НЕИЗВЕСТНЫЙ | Когда плагин не может определить статус хоста / сервиса |
Плагины Nagios используют параметры для своей конфигурации. Ниже приведены несколько важных параметров, принятых плагином Nagios.
Sr.No | Вариант и описание |
---|---|
1 |
-h, —help Это обеспечивает помощь |
2 |
-V, — версия Это печатает точную версию плагина |
3 |
-v, —verbose Это заставляет плагин давать более подробную информацию о том, что он делает |
4 |
-t, —timeout Это обеспечивает время ожидания (в секундах); по истечении этого времени плагин сообщит о КРИТИЧЕСКОМ статусе |
5 |
-w, — предупреждение Это обеспечивает специфичные для плагина ограничения для статуса WARNING. |
6 |
-с, —критический Это обеспечивает специфичные для плагина ограничения для КРИТИЧЕСКОГО статуса |
7 |
-H, —hostname Это обеспечивает имя хоста, IP-адрес или сокет Unix для связи с |
8 |
-4, —use-ipv4 Это позволяет вам использовать IPv4 для подключения к сети |
9 |
-6, —use-ipv6 Это позволяет вам использовать IPv6 для подключения к сети |
10 |
-p, —port Используется для подключения к порту TCP или UDP. |
11 |
-с, — отправить Это обеспечивает строку, которая будет отправлена на сервер |
12 |
-e, —expect Это обеспечивает строку, которая должна быть отправлена обратно с сервера |
13 |
-q, —quit Это обеспечивает строку для отправки на сервер, чтобы закрыть соединение |
-h, —help
Это обеспечивает помощь
-V, — версия
Это печатает точную версию плагина
-v, —verbose
Это заставляет плагин давать более подробную информацию о том, что он делает
-t, —timeout
Это обеспечивает время ожидания (в секундах); по истечении этого времени плагин сообщит о КРИТИЧЕСКОМ статусе
-w, — предупреждение
Это обеспечивает специфичные для плагина ограничения для статуса WARNING.
-с, —критический
Это обеспечивает специфичные для плагина ограничения для КРИТИЧЕСКОГО статуса
-H, —hostname
Это обеспечивает имя хоста, IP-адрес или сокет Unix для связи с
-4, —use-ipv4
Это позволяет вам использовать IPv4 для подключения к сети
-6, —use-ipv6
Это позволяет вам использовать IPv6 для подключения к сети
-p, —port
Используется для подключения к порту TCP или UDP.
-с, — отправить
Это обеспечивает строку, которая будет отправлена на сервер
-e, —expect
Это обеспечивает строку, которая должна быть отправлена обратно с сервера
-q, —quit
Это обеспечивает строку для отправки на сервер, чтобы закрыть соединение
Пакет плагинов Nagios содержит множество проверок для хостов и сервисов для мониторинга инфраструктуры. Давайте попробуем плагины Nagios, чтобы выполнить несколько проверок.
SMTP — это протокол, который используется для отправки электронных писем. Стандартные плагины Nagios содержат команды для проверки SMTP. Определение команды для SMTP —
define command { command_name check_smtp command_line $USER2$/check_smtp -H $HOSTADDRESS$ }
Давайте использовать плагин Nagios для мониторинга MySQL. Nagios предлагает 2 плагина для мониторинга MySQL. Первый плагин проверяет, работает ли соединение MySQL или нет, а второй плагин используется для расчета времени, необходимого для выполнения запроса SQL.
Определения команд для обоих следующие:
define command { command_name check_mysql command_line $USER1$/check_mysql –H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -d $ARG3$ -S –w 10 –c 30 } define command { command_name check_mysql_query command_line $USER1$/check_mysql_query –H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -d $ARG3$ -q $ARG4$ –w $ARG5$ -c $ARG6$ }
Примечание. Имя пользователя, пароль и имя базы данных требуются в качестве аргументов в обеих командах.
Nagios предлагает плагин для проверки дискового пространства, смонтированного на всех разделах. Определение команды выглядит следующим образом
define command { command_name check_partition command_line $USER1$/check_disk –p $ARG1$ –w $ARG2$ -c $ARG3$ }
Большинство проверок можно выполнить с помощью стандартных плагинов Nagios. Но есть приложения, которые требуют специальных проверок для их мониторинга, и в этом случае вы можете использовать сторонние плагины Nagios, которые обеспечат более сложные проверки приложения. Важно знать о проблемах безопасности и лицензирования, когда вы используете сторонний плагин из Nagios exchange или загружаете плагин с другого веб-сайта.