5 Кориснички параметри

Преглед

Понекад ћете можда желети да покренете проверу агента која не долази унапред дефинисан са Zabbix-ом. Овде у помоћ долазе кориснички параметри.

Можете написати команду која преузима податке који су вам потребни и укључује их у корисничком параметру у конфигурацији агента датотека ('UserParameter' конфигурациони параметар).

Кориснички параметар има следећу синтаксу:

UserParameter=<key>,<command>

Као што видите, кориснички параметар такође садржи кључ. Кључ ће бити неопходно приликом конфигурисања ставке. Унесите кључ по свом избору који ће бити лак за референцу (мора бити јединствен у оквиру домаћина).

Поново покрените агента или користите агента контрола времена извршавања опција за преузимање нови параметар, нпр. г.:

zabbix_agentd -R userparameter_reload

Затим, када конфигуришете ставку, унесите кључ за референцу команду из корисничког параметра који желите да се изврши.

Кориснички параметри су команде које извршава Zabbix агент. Имајте на уму да се до 16MB података може вратити пре корака предобрада вредности ставке.

/bin/sh се користи као тумач командне линије под UNIX оперативним системима. Кориснички параметри се придржавају временског ограничења за проверу агента; ако се достигне временско ограничење, процес рачваног корисничког параметра се прекида.

Погледајте такође:

Примери једноставних корисничких параметара

Једноставна команда:

UserParameter=ping,echo 1

Агент ће увек вратити '1' за ставку са кључем 'ping'.

Сложенији пример:

UserParameter=mysql.ping,mysqladmin -uroot ping | grep -c alive

Агент ће вратити '1', ако је MySQL сервер жив, '0' - у супротном.

Флексибилни кориснички параметри

Флексибилни кориснички параметри прихватају параметре помоћу кључа. Овако а флексибилни кориснички параметар може бити основа за креирање неколико ставки.

Флексибилни кориснички параметри имају следећу синтаксу:

UserParameter=key[*],command
Parameter Description
Key Јединствени кључ ставке. [*] дефинише да овај кључ прихвата параметре унутар заграда.
Параметри се дају приликом конфигурисања ставке.
Command Команда која се извршава за процену вредности кључа.
Само за флексибилне корисничке параметре:
Можете да користите позиционе референце $1…$9 у команди да бисте упућивали на одговарајући параметар у кључ ставке.
Zabbix анализира параметре затворене у [ ] кључа ставке и замењује $1,...,$9 у команди у складу с тим.
$0 ће бити замењен оригиналном командом (пре проширења $0,...,$9) која ће бити покренута.
Позиционе референце се тумаче без обзира да ли су затворене између дуплих (") или појединачних (') наводнике.
Да бисте користили позиционе референце непромењене, наведите двоструки знак долара - на пример, авк '{print $$2}' $$2 ће се заправо претворити у $2 приликом извршавања команде.

Претражују се позиционе референце са знаком $ за и замењен Zabbix агентом само за флексибилне корисничке параметре. За једноставних корисничких параметара, таква обрада референци се прескаче и, стога, навођење знака $ није неопходно.

Одређени симболи нису дозвољени у корисничким параметрима подразумевано. Видите UnsafeUserParameters документацију за пуну листу.

Пример 1

Нешто врло једноставно:

UserParameter=ping[*],echo $1

Можемо дефинисати неограничен број ставки за праћење свих формата ping[something].

  • ping[0] - увек ће враћати '0'
  • ping[aaa] - увек ће враћати 'ааа'
Пример 2

Хајде да додамо више смисла!

UserParameter=mysql.ping[*],mysqladmin -u$1 -p$2 ping | grep -c alive

Овај параметар се може користити за праћење доступности MySQL-а база података. Можемо да пренесемо корисничко име и лозинку:

mysql.ping[zabbix,our_password]
Пример 3

Колико редова одговара регуларном изразу у датотеци?

UserParameter=wc[*],grep -c "$2" $1

Овај параметар се може користити за израчунавање броја линија у датотеци.

wc[/etc/passwd,root]
       wc[/etc/services,zabbix]

Резултат команде

Повратна вредност команде је стандардни излаз заједно са стандардном грешком коју производи наредба.

Ставка која враћа текст (знак, дневник или текстуални тип информација) неће постати неподржана у случају стандардног излаза грешке.

Повратна вредност је ограничена на 16 МБ (укључујући размак на крају који је скраћен); ограничења базе података такође се примењују.

Кориснички параметри који враћају текст (знак, дневник или текстуални тип информација) такође могу да врате размак. У случају неважећег резултата, ставка ће постати неподржана.