С помощью удаленных команд вы можете указать какие из предустановленных команд будут выполнены на наблюдаемом узле сети при выполнении некоторых условий.
Таким образом, удаленные команды являются мощным механизмом для умного про-активного мониторинга.
Из наиболее очевидных применений функции вы можете попробовать:
Настройка действий для удаленных команд аналогична настройке действий для отправки сообщений, с той лишь разницей, что вместо отправки сообщения Zabbix будет выполнять команду.
Ограничение длины для удаленных команд после раскрытия всех макросов аналогично ограничению для сообщений в операции Отправка сообщения.
Смотрите также страницу о выполнении команд.
Удаленные команды будут выполнены даже если намеченный узел сети в обслуживании.
Следующее руководство содержит пошаговые инструкции о том, как настроить удаленные команды.
Удаленные команды, которые выполняются на стороне Zabbix агента (пользовательские скрипты) сначала должны быть включены в соответствующем zabbix_agentd.conf.
Убедитесь, что параметр EnableRemoteCommands равен 1 и раскомментирован. Перезапустите демона агента, если изменили этот параметр.
Затем, при настройке нового действия в Настройка→Действия:
Например:
sudo /etc/init.d/apache restart
В этом случае, Zabbix попытается перезапустить процесс Apache. Используя эту команду, убедитесь, что она будет выполнена Zabbix агентом (нажмите на Zabbix агент напротив Выполнять на).
Удаленные команды на Zabbix агенте выполняются без использования какого-либо времени ожидания с помощью ключа system.run[,nowait]. На Zabbix сервере удаленные команды выполняются со временем ожидания указанном в TrapperTimeout параметре в zabbix_server.conf файле.
Убедитесь, что пользователь 'zabbix' имеет права на выполнение добавленных команд. Один наиболее интересный вариант - использование sudo для предоставления доступа к привилегированным командам. Для настройки доступа, выполните из под root:
# visudo
Примеры строк, которые можно использовать в файле sudoers:
# разрешает пользователю 'zabbix' выполнение любых команд без пароля. zabbix ALL=NOPASSWD: ALL
# разрешает пользователю 'zabbix' перезапуск apache без пароля. zabbix ALL=(ALL) NOPASSWD: /etc/init.d/apache restart
Если целевая система имеет несколько интерфейсов выбранного типа (Zabbix агент или IPMI), удаленные команды будут выполнены на интерфейсе по умолчанию.
Имеется возможность выполнять удаленные команды через SSH и Telnet, используя интерфейс отличный от Zabbix агент интерфейса. Доступный интерфейс, который будет использоваться, выбирается в следующем порядке:
В случае удаленных команд через IPMI необходимо использовать следующий синтаксис:
<команда> [<значение>]
где
Перезагрузка Windows при определенном условии.
Для того, чтобы автоматически перезагрузить Windows, когда Zabbix обнаруживает проблемы, определим следующие действия:
ПАРАМЕТР | Описание |
---|---|
Тип операции | 'Удаленная команда' |
Тип | 'Пользовательский скрипт' |
Команда | c:\windows\system32\shutdown.exe -r -f |
Перезагрузка узла сети с использованием управления по IPMI.
ПАРАМЕТР | Описание |
---|---|
Тип операции | 'Удаленная команда' |
Тип | 'IPMI' |
Команда | reset |
Выключение узла сети с использованием управления по IPMI.
ПАРАМЕТР | Описание |
---|---|
Тип операции | 'Удаленная команда' |
Тип | 'IPMI' |
Команда | power off |