Mit UserParameter
in der zabbix-agentd.conf
kann man Zabbix schnell um sehr mächtige Checks erweitern. Im Prinzip ist das einfach Shellcode, der vom zabbix-agent
ausgeführt wird. Ein nettes Feature ist, dass Zabbix eigene Variabeln in den UserParameter
verarbeiten kann. Mit $1
, $2
… kann man auf die Werte zugreifen, welche dem Agent durch die Itemabfrage vom Server, übergeben werden.
Das wird leider zum „Problem“ wenn man in den Userparametern mit Shellvariabeln arbeitet z.B.
UserParameter=hello.world, echo 'Hello World'|awk '{print $1}'
hier versucht Zabbix die awk-Variable $1
mit dem ersten Parameter zu ersetzen, den das Item bekommen hat. Das führt dann dazu, dass es definitiv nicht so läuft wie man es gerne hätte
UserParameter=hello.world, echo 'Hello World'|awk '{print $$1}'
löst das Problem