Zabbix LLD自定义进程监控项错误

时间:2017-12-13 08:10:39

标签: monitoring zabbix

我想通过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]

我必须使用这些设置创建一个图形原型,所以我不能提及类型为" Text"原因很明显。

另一个问题:这样生成的图表根本不像其他现有图表那样可点击。

请让我知道我哪里出错。

1 个答案:

答案 0 :(得分:1)

如果您的service.value密钥生成JSON,则该密钥应仅与LLD规则一起使用。您不应该在其中发送任何值。在原型中使用的密钥应该像任何普通密钥一样,只返回它所要求的值,不要在那里使用LLD生成密钥。

您当前的JSON看起来似乎可以使用内置项进行流程监控,但如果没有其他详细信息,则很难确定。

另请注意,如果您不将参数传递给此密钥,则不需要[*]定义中的UserParameter