Са даљинским командама можете дефинисати ту одређену унапред дефинисану команду се аутоматски извршава на надгледаном домаћину под неким условом.
Стога су даљинске команде моћан механизам за паметну проактивност праћење.
У најочигледнијим употребама ове функције можете покушати да:
Конфигурисање радње за даљинске команде је слично оној за слање порука, једина разлика је у томе што ће Zabbix извршити команду уместо да пошаље поруку.
Удаљене команде могу да извршавају Zabbix сервер, прокси или агент. Ремоте команде на Zabbix агенту могу се извршити директно од стране Zabbix сервера или преко Zabbix проксија. И на Zabbix агенту и на Zabbix прокси даљинском команде су подразумевано онемогућене. Они могу бити омогућени помоћу:
AllowKey=system.run[*]
у конфигурацију агента;Удаљене команде које извршава Zabbix сервер се покрећу како је описано у Извршење команде укључујући излаз провера кода.
Удаљене команде се извршавају чак и ако је циљни домаћин у одржавању.
Ограничење удаљене команде након решавања свих макроа зависи од типа база података и скуп знакова (не-АSCII карактери захтевају више од једног бајт за чување):
Database | Limit in characters | Limit in bytes |
---|---|---|
MySQL | 65535 | 65535 |
Oracle Database | 2048 | 4000 |
PostgreSQL | 65535 | није ограничено |
SQLite (само Zabbix прокси) | 65535 | није ограничено |
Излаз за даљинско извршавање команде (повратна вредност) је ограничен на 16MB (укључујући размак на крају који је скраћен). IPMI удаљена команда ограничење је засновано на инсталираној IPMI библиотеци. Имајте на уму да се ограничења базе података примењују на све удаљене команде.
Оне удаљене команде које се извршавају на Zabbix агенту (прилагођене скрипте) мора се прво омогућити у агенту конфигурација.
Уверите се да је параметар AllowKey=system.run[<command>,*] додат за сваку дозвољену команду у конфигурацији агента да бисте дозволили одређену команду у режиму nowait. Поново покрените демон агента ако промените овај параметар.
Затим, када конфигуришете нову радњу у Упозорења → Радње → Покрени радње:
Скрипте које су доступне за радње (webhook, script, SSH, Telnet, IPMI) су дефинисане у глобалне скрипте.
на пример:
У овом случају, Zabbix ће покушати да поново покрене A процес. Са овим команде, уверите се да се наредба извршава на Zabbix агенту (кликните дугме Zabbix агент против Изврши на).
Обратите пажњу на употребу sudo - Zabbix корисник не подразумевано имају дозволе за поновно покретање системских услуга. Погледајте испод за савети како да конфигуришете sudo.
Почевши од Zabbix агента 7.0, удаљене команде се такође могу извршити на агенту који ради у активном режиму. Zabbix агент – без обзира да ли је активан или пасиван – треба да ради на удаљеном домаћину и извршава команде у позадини.
Удаљене команде на Zabbix агенту се извршавају без временског ограничења system.run[,nowait] кључ и нису проверени за резултате извршења. Он Zabbix сервер и Zabbix прокси, удаљене команде се извршавају са временском паузом као што је подешено у параметру TrapperTimeout zabbix_server.conf или zabbix_proxy.conf датотеку и су чекирано за резултати извршења. За додатне информације погледајте Скрипте временске паузе.
Уверите се да корисник 'zabbix' има дозволе за извршавање за конфигурисано команде. Можда ће неко бити заинтересован за коришћење sudo за давање приступа привилеговане команде. Да бисте конфигурисали приступ, извршите га као роот:
Примери линија које се могу користити у sudoers датотеци:
# дозвољава 'zabbix' кориснику да покрене све команде без лозинке.
zabbix ALL=NOPASSWD: ALL
# дозвољава 'zabbix' кориснику да поново покрене апацхе без лозинке.
zabbix ALL=NOPASSWD: /etc/init.d/apache restart
На неким системима sudoers датотека ће спречити не-локално корисника од извршавања команди. Да бисте ово променили, коментаришите requiretty опција у /etc/sudoers.
Ако циљни систем има више интерфејса изабраног типа (Zabbix агент или IPMI), удаљене команде ће се извршавати по подразумеваној вредности интерфејс.
Могуће је извршити даљинске команде преко SSH и Telnet користећи други интерфејс од оног Zabbix агента. Доступни интерфејс за употреба се бира следећим редоследом:
За IPMI удаљене команде треба користити следећу синтаксу:
где
Примери за глобал скрипте које се могу користити као даљинске команде у акцијама.
Пример 1
Поновно покретање Windows-а под одређеним условима.
Да бисте аутоматски поново покренули Windows након проблема који је открио Zabbix, дефинишите следећу скрипту:
Script parameter | Value |
---|---|
Scope | 'Операција радње' |
Type | 'Скрипта' |
Command | c:\windows\system32\shutdown.exe -r -f |
Пример 2
Поново покрените хост користећи IPMI контролу.
Script parameter | Value |
---|---|
Scope | 'Операција радње' |
Type | 'IPMI' |
Command | ресет |
Пример 3
Искључите домаћина користећи IPMI контролу.
Script parameter | Value |
---|---|
Scope | 'Операција радње' |
Type | 'IPMI' |
Command | искључење |