У меня есть следующий сценарий: -
#!/bin/bash
echo "{"
echo "\"data\":["
grep -hoR server_name.* /etc/nginx/sites-enabled/|sed 's/[^ ]* //'|sed 's/.$//'|awk -F"/" '{ print "{\"{#URL}\":\""$1"\"}," }'| head -c -2
echo "]"
echo "}"
Это настроено как UserParameter на клиенте.
UserParameter=url.discovery[*],/etc/zabbix/scripts/urls.sh
и дает такие результаты, как
{
"data":[
{"{#URL}":"example.com"}]
}
Затем у меня есть правило обнаружения, настроенное в zabbix следующим образом: -
Ключ - url.discovery [*]
Прототип элемента - web.page.regexp [{# URL} ,,, test ,,]
Однако я получаю следующую ошибку
Значение должно быть ошибкой объекта JSON.
Я проверил результат JSON на https://jsonlint.com/ и он говорит, что действителен.
Как я могу это решить?
Спасибо Стюарт
Вероятно, это проблема Zabbix - https://support.zabbix.com/browse/ZBX-12195