Ошибка элемента мониторинга пользовательских процессов в Zabbix LLD
Я хочу отслеживать свои пользовательские процессы через Zabbix (v2.4.8). Я генерирую следующий объект json и отправляю его через UserParameter=service.value[*],/usr/lib/zabbix/externalscripts/custom1.bash
:
{
"data":[
{
"{#NAME}":"ntp",
"{#VALUE}":"1"
},
{
"{#NAME}":"mysql",
"{#VALUE}":"1"
},
{
"{#NAME}":"prometheus",
"{#VALUE}":"0"
},
{
"{#NAME}":"apache2",
"{#VALUE}":"0"
}
]
}
Кроме того, создание прототипа элемента и прототипа диаграммы в новом шаблоне с новым правилом обнаружения, имеющим следующую информацию:
Discovery rule name: Service Graph
Type: Zabbix Agent
key: service.value
Item Prototype name: Service {#NAME} Graph
Type: Zabbix Agent
key: service.value[{#NAME},{#VALUE}]
Type of info: Numeric(Unsigned) & Decimal
Когда я применяю эти настройки, элементы продолжают выдавать следующую ошибку:
Not supported: Received value [{ "data":[ { "{#NAME}":"ntp", "{#VALUE}":"1" }, { "{#NAME}":"mysql", "{#VALUE}":"1" }, { "{#NAME}":"prometheus", "{#VALUE}":"0" }, { "{#NAME}":"apache2", "{#VALUE}":"0" } ]}] is not suitable for value type [Numeric (unsigned)] and data type [Decimal]
Я должен создать прототип графа с этими настройками, поэтому я не могу упомянуть тип как "Текст" по понятным причинам.
Другой вопрос: сгенерированные таким образом графики вообще не являются кликабельными, как другие существующие графики.
Пожалуйста, дайте мне знать, где я иду не так.
1 ответ
Если твой service.value
Ключ генерирует JSON, который должен использоваться только с правилом LLD. Вы не должны отправлять какие-либо значения в нем. Ключ, который будет использоваться в прототипах, должен быть похож на любой обычный ключ, он возвращает только те значения, для которых он был запрошен, не используйте там ключ, генерирующий LLD.
Ваш текущий JSON выглядит так, как будто вы можете использовать встроенные элементы для мониторинга процессов, но в этом трудно быть уверенным без дополнительных подробностей.
Также обратите внимание, что [*]
в UserParameter
определение не требуется, если вы не передаете параметры этому ключу.