2016-12-26 2 views
0

Я пытаюсь сделать элемент Zabbix работоспособным на FreeBSD для сбора информации от SQUID.Пользовательский параметр Zabbix с несколькими значениями не работает

У меня есть следующий UserParameter:

UserParameter=data.sclient[*], printf "GET cache_object://localhost/purgeng/$2 HTTP/1.0\nAccept */*\n\n" | for i in $(echo "$1" | tr "," "\n"); do nc -w 3 127.0.0.1 $i ; done | awk '/^[[:space:]]*$$ 
/{getline;split($$0, a,/= /);print a[2]} END{if(!NR) print -2}' 

Но это работает только с одним значением порта, например:

zabbix_get -s 192.168.1.7 -p 10050 -k data.sclient["1111",distributors/configured] 
6 

Когда я пытаюсь с двумя значениями портов:

zabbix_get -s 192.168.1.7 -p 10050 -k data.sclient["1111,2222",distributors/configured] 
false 

Не могли бы вы помочь мне работать с несколькими портами?

ответ

0

Проблема была в неправильной настройке цикла.

я сделал:

UserParameter=data.sclient[*], for i in $(echo $1); do printf "GET cache_object://localhost/purgeng/$2 HTTP/1.0\nAccept */*\n\n" | nc -w 3 127.0.0.1 $i ; done | awk '/^[[:space:]]*$$/ {getline;split($$0, a,/= /);print a[2]} END{if(!NR) print -2}' 

$ zabbix_get -s 192.168.1.7 -p 10050 -k data.sclient["1111 2222",distributors/connected] 
3 
3 
+0

Вы, вероятно, следует иметь в виду, что вы не можете использовать более одного возвращаемого значения из элемента в самой Zabbix. Когда вы настраиваете элементы в интерфейсе/сервере, все они могут использовать только одно значение. – Richlv

+0

Привет, да, я это уже понял. Не могли бы вы предложить альтернативный способ обхода? Проблема в том, что правило обнаружения низкого уровня читает порты из массива json, и мне нужно отслеживать каждый из этих портов. Возможно ли, а не создавать через правило обнаружения отдельный элемент для каждого из портов? – user54

+0

У вас должны быть отдельные элементы для получения разных значений - как вы могли бы различать их позже в противном случае? Однако, как создаются элементы, они отличаются от их заполнения. Создание может обрабатываться с помощью LLD, API и т. Д. Заполнение может выполняться с помощью отдельного опроса, zabbix_sender и т. Д. – Richlv

Смежные вопросы