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
Не могли бы вы помочь мне работать с несколькими портами?
Вы, вероятно, следует иметь в виду, что вы не можете использовать более одного возвращаемого значения из элемента в самой Zabbix. Когда вы настраиваете элементы в интерфейсе/сервере, все они могут использовать только одно значение. – Richlv
Привет, да, я это уже понял. Не могли бы вы предложить альтернативный способ обхода? Проблема в том, что правило обнаружения низкого уровня читает порты из массива json, и мне нужно отслеживать каждый из этих портов. Возможно ли, а не создавать через правило обнаружения отдельный элемент для каждого из портов? – user54
У вас должны быть отдельные элементы для получения разных значений - как вы могли бы различать их позже в противном случае? Однако, как создаются элементы, они отличаются от их заполнения. Создание может обрабатываться с помощью LLD, API и т. Д. Заполнение может выполняться с помощью отдельного опроса, zabbix_sender и т. Д. – Richlv