我想通过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]
我必须用这些设置创建一个图形原型,因此出于明显的原因,我不能将类型称为“文本”。
另一个问题是:由此生成的图形与其他现有的图完全不同。
请让我知道我哪里出错了。
发布于 2017-12-13 13:26:32
如果您的service.value密钥生成JSON,则应该仅与LLD规则一起使用。您不应该在其中发送任何值。要在原型中使用的键应该像任何普通的键一样,它们只返回被要求的值,不要在那里使用LLD生成键。
您当前的JSON看起来可能可以使用内置项进行进程监视,但是如果没有其他细节,很难确定这一点。
还请注意,如果不向此键传递参数,则不需要UserParameter定义中的UserParameter。
https://stackoverflow.com/questions/47788284
复制相似问题