首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zabbix Discovery格式

Zabbix Discovery格式
EN

Server Fault用户
提问于 2017-06-25 21:48:10
回答 1查看 5.7K关注 0票数 0

我试图创建一个发现规则来监视企业应用程序,我的脚本返回以下JSON。

代码语言:javascript
复制
{
    "data": [{
            "{#NODENAME}": "node1",
            "{#NODEINTERFACE}": ["eth0", "eth1"]
        },
        {
            "{#NODENAME}": "node2",
            "{#NODEINTERFACE}": ["eth2", "eth3"]
        }
    ]
}

在Zabbix接口上,我使用以下参数创建了这个发现:

名称::发现节点和接口

类型: Zabbix试剂

密钥app.discovery

在“过滤器”TAB中:

计算类型:和/或

Zabbix上的预期行为是创建以下键:

键格式:

代码语言:javascript
复制
app.getinfo["{#NODENAME}","{#NODEINTERFACE}]

也就是说,为每个NODENAME创建N个键,为每个接口创建一个

发现密钥:

代码语言:javascript
复制
app.getInfo["node1","eth0"]
app.getInfo["node1","eth1"]

app.getInfo["node2","eth2"]
app.getInfo["node2","eth3"]

该行为得到的是:

如果计算类型为和/或,则Zabbix不创建项

如果计算类型为或,则Zabbix为每个NODENAME创建一个项,忽略/不识别NODEINTERFACE

我的疑问是,如何为每个NODENAME创建一个发现规则,用NODEINTERFACE信息创建N个条目

EN

回答 1

Server Fault用户

回答已采纳

发布于 2017-06-25 23:23:45

首先,原型键可能是错误的--在app.getinfo["{#NODENAME}","{#NODEINTERFACE}]中没有关闭引号。

其次,您的JSON应该是这样的:

代码语言:javascript
复制
{
    "data": [
    {
        "{#NODENAME}": "node1",
        "{#NODEINTERFACE}": "eth0"
    },
    {
        "{#NODENAME}": "node1",
        "{#NODEINTERFACE}": "eth1"
    },
    {
        "{#NODENAME}": "node2",
        "{#NODEINTERFACE}": "eth2"
    }
    {
        "{#NODENAME}": "node2",
        "{#NODEINTERFACE}": "eth3"
    }
]
}

请注意,每个条目必须包含要在创建的实体中表示的单个值集。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/857806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档