Определение команды определяет команду. Команды включают проверки служб, уведомления служб, обработчики событий служб, проверки узлов, уведомления узлов и обработчики событий узлов. Определения команд для Nagios определены в файле commands.cfg.
Ниже приведен формат для определения команды:
define command { command_name command_name command_line command_line }
Имя команды — эта директива используется для идентификации команды. На определения контакта, хоста и службы ссылается имя команды.
Командная строка — эта директива используется для определения того, что выполняется Nagios, когда команда используется для проверки службы или хоста, уведомлений или обработчиков событий.
пример
define command{ command_name check_ssh command_line /usr/lib/nagios/plugins/check_ssh ‘$HOSTADDRESS$’ }
Эта команда выполнит плагин — / usr / libl / nagios / plugins / check_ssh с 1 параметром: ‘$ HOSTADDRESS $’
Очень короткое определение хоста, которое будет использовать эту команду проверки, может быть похоже на показанное здесь —
define host{ host_name host_tutorial address 10.0.0.1 check_command check_ssh }
Определения команд рассказывают, как выполнять проверки хоста / службы. Также определяется, как генерировать уведомления, если обнаружена какая-либо проблема, и обрабатывать любое событие. Существует несколько команд для выполнения проверок, таких как команды для проверки правильности работы SSH, команда для проверки работоспособности базы данных, команда для проверки работоспособности хоста и многие другие.
Есть команды, которые сообщают пользователям, какие проблемы присутствуют в инфраструктуре. Вы можете создавать свои собственные пользовательские команды или использовать любые сторонние команды в Nagios, и они обрабатываются аналогично проекту плагинов Nagios, между ними нет различия.
Вы также можете передать аргументы в команду, это даст больше гибкости при выполнении проверок. Вот как вам нужно определить команду с параметром —
define command { command_name check-host-alive-limits command_line $USER5$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5 }
Определение хоста для вышеуказанной команды —
define host { host_name system2 address 10.0.15.1 check_command check-host-alive-limits!1000.0,70%!5000.0,100% }
Вы можете запускать внешние команды в Nagios, добавляя их в файл команд, который периодически обрабатывается демоном Nagios.
С внешними командами вы можете выполнить много проверок во время работы Nagios. Вы можете временно отключить несколько проверок или принудительно запустить некоторые проверки, временно отключить уведомления и т. Д. Ниже приведен синтаксис внешних команд в Nagios, которые должны быть записаны в командном файле:
[time] command_id;command_arguments
Вы также можете ознакомиться со списком всех внешних команд, которые можно использовать в Nagios здесь — https://assets.nagios.com/downloads/nagioscore/docs/externalcmds/