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

Преглед

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

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

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

UserParameter=<key>,<command>

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

Поново покрените агента или користите опцију агента runtime control да бисте преузели нови параметар, нпр. нпр.:

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
Кључ Јединствени кључ ставке. [*] дефинише да овај кључ прихвата параметре унутар заграда.
Параметри се дају приликом конфигурисања ставке.
Команда Команда која се извршава за процену вредности кључа.
Само за флексибилне корисничке параметре:
Можете користити позиционе референце $1…$9 у команди да бисте се позвали на одговарајући параметар у кључу ставке.
Zabbix анализира параметре затворене у [ ] кључа ставке и сходно томе замењује $1,...,$9 у команди.
$0 ће бити замењен оригиналном командом (пре проширења $0,...,$9) која ће се покренути.
Позиционе референце се интерпретирају без обзира на то да ли су затворене између двоструких (") или једноструких (') наводника.
Да бисте користили позиционе референце непромењене, наведите двоструки знак долара - на пример, awk '{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 МБ (укључујући размак на крају који је скраћен); ограничења базе података такође се примењују.

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