Zabbix Documentation 5.0

3.04.04.45.0 (current)| In development:5.2 (devel)| Unsupported:1.82.02.22.43.23.44.2Guidelines

User Tools

Site Tools


ru:manual:config:notifications:action:operation:remote_command

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ru:manual:config:notifications:action:operation:remote_command [2015/12/24 00:20]
dotneft
ru:manual:config:notifications:action:operation:remote_command [2019/10/07 06:35] (current)
Line 17: Line 17:
 Настройка действий для удаленных команд аналогична настройке действий для отправки сообщений,​ с той лишь разницей,​ что вместо отправки сообщения Zabbix будет выполнять команду. Настройка действий для удаленных команд аналогична настройке действий для отправки сообщений,​ с той лишь разницей,​ что вместо отправки сообщения Zabbix будет выполнять команду.
  
-<note important>​Выполнение ​удаленных команд не поддерживается ​через Zabbix прокси, поэтому команды ​с Zabbix сервера ​на агенте требуют прямого подключения.</​note>​+Удаленные команды могут выполняться ​на стороне Zabbix сервера,​ прокси или агента. Удаленные команды на Zabbix агенте могут выполняться напрямую Zabbix сервером или ​через Zabbix прокси. По умолчанию ​удаленные ​команды ​отключены как у Zabbix ​агента, так и у Zabbix ​прокси. Их можно включить, изменив значение параметра EnableRemoteCommands на значение '​1'​.
  
-Удаленные команды ограничены 255 символами. Несколько команд могут быть выполнены один за другим при ​размещении их на новой строкеУдаленные команды могут ​содержать макросы. Смотрите ​также страницу ​о [[:ru/​manual/​appendix/​command_execution|выполнении команд]].+Ограничение длины удаленных команд ​после ​раскрытия всех макросов зависит от типа базы данных и заданной кодировки (для хранения не-ASCII символов ​требуется более одного байта):​ 
 + 
 +|//База данных//​ |//Ограничение в символах //| //​Ограничение в байтах //| 
 +|**MySQL**|65535|65535| 
 +|**Oracle Database**|2048|4000| 
 +|**PostgreSQL**|65535|не ограничено
 +|**IBM DB2**|2048|2048| 
 +|**SQLite (только Zabbix прокси)**|65535|не ограничено| 
 + 
 +Удаленные команды ​выполняемые Zabbix ​сервером ​запускаются как описано ​в разделе ​[[ru/​manual/​appendix/​command_execution|Выполнение команд]], включая проверку кода выхода. 
 + 
 +Удаленные команды будут выполнены даже если намеченный узел сети в обслуживании.
  
 Следующее руководство содержит пошаговые инструкции о том, как настроить удаленные команды. Следующее руководство содержит пошаговые инструкции о том, как настроить удаленные команды.
Line 31: Line 42:
 <note important>​Удаленные команды не работают с активными Zabbix агентами.</​note>​ <note important>​Удаленные команды не работают с активными Zabbix агентами.</​note>​
  
-Затем, при настройке нового действия в //​Настройка->​Действия//: ​+Затем, при настройке нового действия в //​Настройка -> Действия//: ​
  
-  * На вкладке //​Операции//​выберите тип операции **Удаленная команда**+  ​* Задайте соответсвующие условия. В этом примере,​ укажите что команда активируется в случае любых чрезвычайных проблем в одном из приложений Apache: 
 + 
 +{{manual:​config:​conditions_restart.png|}} 
 + 
 +Все обязательные поля ввода отмечены красной звёздочкой. 
 + 
 +  ​* На вкладке //[[ru/​manual:​config:​notifications:​action:​operation#​настройка_операции|Операции]]// выберите тип операции **Удаленная команда**
   * Выберите тип удаленной команды (IPMI, Пользовательский скрипт,​ SSH, Telnet, Глобальный скрипт)   * Выберите тип удаленной команды (IPMI, Пользовательский скрипт,​ SSH, Telnet, Глобальный скрипт)
 +  * Если выбран тип //​Пользовательский скрипт//,​ тогда укажите каким способом этот скрипт будет выполняться (Zabbix агентом,​ Zabbix сервером (прокси) или только Zabbix сервером)
   * Введите удаленную команду   * Введите удаленную команду
  
 Например:​ Например:​
   sudo /​etc/​init.d/​apache restart ​   sudo /​etc/​init.d/​apache restart ​
-В этом случае,​ Zabbix попытается перезапустить процесс Apache. Используя эту команду,​ убедитесь,​ что она будет выполнена Zabbix агентом (отметьте соответствующий пункт ​в //​Выполнять на//).+В этом случае,​ Zabbix попытается перезапустить процесс Apache. Используя эту команду,​ убедитесь,​ что она будет выполнена Zabbix агентом (нажмите на //Zabbix агент// напротив //​Выполнять на//).
  
 <note important>​Обратите внимание на использование **sudo** - пользователь Zabbix не имеет прав на перезапуск системных сервисов по умолчанию. Смотрите подсказки ниже о том, как настроить **sudo**.</​note>​ <note important>​Обратите внимание на использование **sudo** - пользователь Zabbix не имеет прав на перезапуск системных сервисов по умолчанию. Смотрите подсказки ниже о том, как настроить **sudo**.</​note>​
Line 45: Line 63:
 <​note>​Zabbix агент должен работать на удаленном узле сети и должен принимать входящие подключения. Zabbix агент выполняет команды в фоновом режиме.</​note>​ <​note>​Zabbix агент должен работать на удаленном узле сети и должен принимать входящие подключения. Zabbix агент выполняет команды в фоновом режиме.</​note>​
  
-<note important>​Zabbix не проверяет была ли выполнена команда успешно.</​note>​ +Удаленные команды на стороне ​Zabbix агента выполняются без ​учета времени ожидания ​при ​помощи ключа system.run[,​nowait], таким образом результаты выполнения не проверяются. На стороне ​Zabbix сервера команды выполняются с учетом времени ожидания, как ​указано в параметре ​TrapperTimeout ​в файле ​zabbix_server.conf и результаты выполнения [[ru/​manual/​appendix/​command_execution#​проверка_кода_выхода|проверяются]].
- +
-Удаленные команды на Zabbix агенте выполняются без ​использования какого-либо ​времени ожидания ​с помощью ключа system.run[,​nowait]. На Zabbix сервере удаленные ​команды выполняются со временем ожидания указанном в TrapperTimeout ​параметре в zabbix_server.conf ​файле. +
- +
-  * На вкладке //​Условия// определите соответствующие условия. Для этого ​примера, укажите,​ чтобы действие активировалось только в случае любых чрезвычайных проблем с одним из приложений Apache. +
- +
-{{manual:​config:​conditions_restart.png|}}+
  
 === Права доступа === === Права доступа ===
Line 67: Line 79:
 <note tip>В некоторых системах настройки в файле //sudoers// будут препятствовать не-локальным пользователям выполнять команды. Для изменения этого, раскомментируйте опцию **requiretty** в ///​etc/​sudoers//​.</​note>​ <note tip>В некоторых системах настройки в файле //sudoers// будут препятствовать не-локальным пользователям выполнять команды. Для изменения этого, раскомментируйте опцию **requiretty** в ///​etc/​sudoers//​.</​note>​
  
-=== Удаленные команды ​в случае нескольких интерфейсов ===+=== Удаленные команды ​при наличии нескольких интерфейсов ===
  
 Если целевая система имеет несколько интерфейсов выбранного типа (Zabbix агент или IPMI), удаленные команды будут выполнены на интерфейсе по умолчанию. Если целевая система имеет несколько интерфейсов выбранного типа (Zabbix агент или IPMI), удаленные команды будут выполнены на интерфейсе по умолчанию.
 +
 +Имеется возможность выполнения удаленных команд через SSH и Telnet, используя отличный интерфейс от интерфейса Zabbix агента. Доступный интерфейс,​ который будет использоваться,​ выбирается в следующем порядке:​
 +    * Zabbix агент интерфейс по умолчанию
 +    * SNMP интерфейс по умолчанию
 +    * JMX интерфейс по умолчанию
 +    * IPMI интерфейс по умолчанию
 +
 +=== Удаленные команды через IPMI ===
 +
 +В случае удаленных команд через IPMI необходимо использовать следующий синтаксис:​
 +
 +  <​команда>​ [<​значение>​]
 +
 +где
 +
 +  * <​команда>​ - одна из IPMI команд без пробелов
 +  * <​значение>​ - '​on',​ '​off'​ или любое положительное целое число. <​значение>​ является опциональным параметром.
  
 === Примеры === === Примеры ===
Line 91: Line 120:
 |Тип операции|'​Удаленная команда'​| |Тип операции|'​Удаленная команда'​|
 |Тип ​         |'​IPMI'​| |Тип ​         |'​IPMI'​|
-|Команда ​      ​|reset ​on|+|Команда ​      ​|reset|
  
 ==Пример 3== ==Пример 3==