Это руководство содержит пошаговые инструкции по настройке удаленного выполнения предварительно определенных команд при возникновении события. Предполагается, что Zabbix агент настроен и запущен.
В Zabbix агенте включите выполнение удаленных команд. Убедитесь, что параметр EnableRemoteCommands установлен в 1 и раскомментирован в zabbix_agentd.conf. Перезапустите демон агента, если вы изменили этот параметр.
Настройте новое действие перейдя в Настройка → Действия и в блоке Новое действие выберите тип операции Удаленная команда.
Обратите внимание на следующие параметры в действии:
Параметр | Описание |
---|---|
Тип действия | Должен быть установлен в 'Удаленная команда'. |
Удаленная команда | Каждая строка должна содержать выполняемую команду. Например: хост:sudo /etc/init.d/apache restart. Удаленные команды могут содержать макросы! |
Обратите внимание на использование sudo - по умолчанию пользователь Zabbix не имеет прав перезапускать системные сервисы. Ниже смотрите советы о том, как настроить sudo.
Синтаксис удаленных команд:
Удаленная команда | Описание |
---|---|
{HOSTNAME}:<команда> | Команда 'команда' будет выполнена на том узле сети где произошло событие. |
<узел сети>:<команда> | Команда 'команда' будет выполнена на стороне хоста 'узел сети'. |
<группа узлов сети>#<команда> | Команда 'команда' будет выполнена на всех узлах сети в группе узлов сети 'группа узлов сети'. |
Zabbix агент выполняет команды в фоновом режиме. Zabbix не проверяет успешность выполнения команды.
Удаленные команды в Zabbix версии младше 1.4 ограничены 44 символами, а начиная с Zabbix версии 1.4 удаленные команды ограничены 255 символами.
Синтаксис удаленных команд IPMI:
Удаленная команда | Описание |
---|---|
{HOSTNAME}:IPMI <ipmi control> [значение] | Синтаксис для выполнения IPMI команды, на том узле сети где произошло событие. Поддерживаемые значения: "on", "off" или числа (по умолчанию 1). |
<узел сети>:IPMI <ipmi control> [значение] | Синтаксис для выполнения IPMI команды на конкретном узле сети. |
<группа узлов сети>#IPMI <ipmi control> [значение] | Синтаксис для выполнения IPMI команды на всех узлах сети в группе узлов сети. |
Удостоверьтесь, что пользователь 'zabbix' имеет права на выполнение настроенных команд. Может быть нужно будет использовать sudo для получения доступа к привилегированным командам. Для настройки доступа, выполните под root:
Примеры строк, которые могут быть использованы в файле sudoers:
# разрешает пользователю 'zabbix' выполнять все команды без ввода пароля.
zabbix ALL=NOPASSWD: ALL
# разрешает пользователю 'zabbix' перезапускать apache без ввода пароля.
zabbix ALL=(ALL) NOPASSWD: /etc/init.d/apache restart
На некоторых системах файл sudoers препятствует нелокальным пользователям выполнять команды. Для изменения этого, закомментируйте опцию requiretty в /etc/sudoers.
На новых системах возможно потребуется установить Defaults visiblepw в /etc/sudoers.
Перезагрузка Windows при определенном условии.
Для того, чтобы автоматически перезагрузить Windows в случае возникновения проблем обнаруженных Zabbix, определим следующие действия:
Параметр | Описание |
---|---|
Тип действия | 'Удаленная команда' |
Удаленная команда | host:c:\windows\system32\shutdown.exe -r -f Замените 'host' на имя узла сети сервера Windows согласно веб-интерфейса Zabbix |
Перезагрузка хоста используя управление через IPMI.
ПАРАМЕТР | ОПИСАНИЕ |
---|---|
Тип действия | 'Удаленная команда' |
Удаленная команда | {HOSTNAME}:IPMI reset on |
Выключение хоста используя управление через IPMI.
ПАРАМЕТР | ОПИСАНИЕ |
---|---|
Тип действия | 'Удаленная команда' |
Удаленная команда | {HOSTNAME}:IPMI power off |