Zabbix Documentation 3.4

3.04.04.4 (current)| In development:5.0 (devel)| Unsupported:1.82.02.22.43.23.44.2Guidelines

User Tools

Site Tools


ru:manual:appendix:command_execution

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
ru:manual:appendix:command_execution [2016/09/28 07:26]
127.0.0.1 external edit
ru:manual:appendix:command_execution [2018/06/26 15:19] (current)
dotneft
Line 1: Line 1:
-===== Выполнение команд =====+===== 10 Выполнение команд =====
  
-Zabbix использует единый функционал для выполнения пользовательских параметров, удаленных команд, элементов данных system.run[] без флага "​nowait", ​скриптов ​(оповещениявнешних и глобальных) и некоторых ​внутренних команд.+Zabbix использует единый функционал для выполнения ​внешних проверок, ​пользовательских параметров,​ элементов данных system.run, пользовательских ​скриптов оповещенийудаленных команд и пользовательских скриптов.
  
 Команда/​скрипт выполняется одинаково как на Unix, так и на Windows платформах:​ Команда/​скрипт выполняется одинаково как на Unix, так и на Windows платформах:​
Line 9: Line 9:
   - Создается новая группа процесса (в Unix) или задача (в Windows) для дочернего процесса ​   - Создается новая группа процесса (в Unix) или задача (в Windows) для дочернего процесса ​
   - Zabbix считывает из канала данные по истечении установленного времени ожидания или до момента,​ когда запись прекратится (ВСЕ обработчики/​файловые дескрипторы закрыты). Обратите внимание,​ что дочерний процесс может создать еще некоторое количество процессов и выйти до того, как эти процессы завершатся или будет закрыт обработчик/​файловый дескриптор. ​   - Zabbix считывает из канала данные по истечении установленного времени ожидания или до момента,​ когда запись прекратится (ВСЕ обработчики/​файловые дескрипторы закрыты). Обратите внимание,​ что дочерний процесс может создать еще некоторое количество процессов и выйти до того, как эти процессы завершатся или будет закрыт обработчик/​файловый дескриптор. ​
-  - Если установленное время ожидания не достигнуто,​ то Zabbix ждет завершения начального дочернего процесса или ждет достижения установленного времени ожидания. ​+  - Если установленное время ожидания не достигнуто,​ то Zabbix ждет завершения начального дочернего процесса или ждет достижения установленного времени ожидания. 
 +  - Если начальный дочерний процесс завершил свою работу и время ожидания не вышло, тогда Zabbix проверяет код вызода начального дочернего процесса и сравнивает его с 0 (ненулевое значение считается ошибкой выполнения,​ только для пользовательских скриптов оповещений,​ удаленных команд и пользовательских скриптов выполняемых на Zabbix сервере и Zabbix прокси)
   - На этот момент подразумевается,​ что всё выполнено и всё дерево процессов (т.е. группа процессов или задача) завершены. ​   - На этот момент подразумевается,​ что всё выполнено и всё дерево процессов (т.е. группа процессов или задача) завершены. ​
- 
-<note important>​Шаги с 5 по 7 не относятся к удаленным командам,​ если они выполняются с флагом "​nowait"​.​</​note>​ 
  
 <note important>​Zabbix предполагает,​ что команда/​скрипт завершили обработку,​ в тот момент,​ когда завершился изначальный дочерний процесс И никакие другие процессы все еще не держат открытым обработчик/​файловый дескриптор. Когда обработка завершена,​ ВСЕ созданные процессы завершаются.</​note>​ <note important>​Zabbix предполагает,​ что команда/​скрипт завершили обработку,​ в тот момент,​ когда завершился изначальный дочерний процесс И никакие другие процессы все еще не держат открытым обработчик/​файловый дескриптор. Когда обработка завершена,​ ВСЕ созданные процессы завершаются.</​note>​
Line 18: Line 17:
 Все двойные кавычки и обратная косая черта в команде экранируются обратной косой чертой и вся команда заключается в двойные кавычки. Все двойные кавычки и обратная косая черта в команде экранируются обратной косой чертой и вся команда заключается в двойные кавычки.
  
-Смотрите более подробную информацию о [[ru:manual:config:items:​userparameters|пользовательских параметрах]][[ru:manual:config:notifications:​action:​operation:remote_command|удаленных командах]] и [[manual:config:​notifications:​media:​script|скриптах оповещения]].+=== Проверка кода выхода === 
 + 
 +Код выхода проверяется на соответствие следующим условиям:​ 
 + 
 +  *только для пользовательских скриптов оповещений,​ удаленных команд и пользовательских скриптов выполняемых на Zabbix сервере и Zabbix прокси. 
 +  *Любой код выхода,​ отличный от 0 считается ошибкой выполнения. 
 +  *Содержимое стандарного вывода ошибки и стандартного вывода собирается при ошибочных выполнениях и доступно в веб-интерфейсе (где отображается результат выполнения). 
 +  *Добавляется ​дополнительная запись в журнал для удаленных команд на Zabbix сервере,​ чтобы сохранить вывод выполнения скрипта,​ эту возможность можно включить, используя [[:​ru/​manual/​appendix/​config/​zabbix_agentd|параметр]] агента LogRemoteCommands. 
 + 
 +Возможные сообщения в веб-интерфейсе и записи в журналах при ​ошибочных командах/​скриптах:​ 
 +  * Содержимое стандарного вывода ошибки и стандартного вывода при ошибочных выполнениях (если имеется). 
 +  * %%"​%%Process exited with code: N.%%"​%% (при пустом выводе и коде выхода отлично от 0). 
 +  * %%"​%%Process killed by signal: N.%%"​%% (при завершении процесса сигналом, только на Linux). 
 +  * %%"​%%Process terminated unexpectedly.%%"​%% (при завершениях процесса по неизвестным причинам). 
 + 
 +---- 
 + 
 +Подробнее о: 
 + 
 +  * [[:ru/manual/config/items/​itemtypes/​external#​результат_внешней_проверки|Внешние проверки]] 
 +  * [[:ru/​manual/​config/​items/​userparameters|Пользовательские параметры]] 
 +  * Элементы данных [[:​ru/​manual/​config/​items/​itemtypes/​zabbix_agent|system.run]] 
 +  * [[:ru/manual/config/notifications/​media/​script|Пользовательские скрипты оповещений]] 
 +  * [[:ru/​manual/​config/​notifications/​action:​operation/remote_command|Удаленные команды]] 
 +  * [[:ru/​manual/​web_interface/​frontend_sections/​administration/​scripts|Глобальные ​скрипты]]