如何在 Zabbix 中搜索主机组 API
How to search Host Groups in Zabbix API
我想列出符合某些搜索条件的所有主机组。
我已经试过了:
data = '{"jsonrpc": "2.0",
"method": "hostgroup.get",
"params": {
"output": "extend",
"search": {
"name": [
"' + group_name + '"
]
},
},
"id":' + str(msg_id) + ',
"auth": "' + auth + '"
}'
但这不是正确的语法。
我也试过这个:
data = '{"jsonrpc": "2.0",
"method": "hostgroup.get",
"params": {
"output": "extend",
"filter": {
"name": [
"' + group_name + '"
]
},
},
"id":' + str(msg_id) + ',
"auth": "' + auth + '"
}'
这个有效,但它只与组名完全匹配。因此,它总是 returns 1 或 0 个匹配项。
我尝试在最后一个查询中添加 "options":"searchWildcardsEnabled"
选项,但它对结果没有影响(即它没有产生多个组作为输出)。
我找到了正确的方法。我会 post 放在这里以防其他人以后需要它。
data = '{"jsonrpc": "2.0",
"method": "hostgroup.get",
"params": {
"output": "extend",
"search": {
"name": [
"' + group_name + '"
]
}
},
"id":' + str(msg_id) + ',
"auth": "' + auth + '"
}'
您不需要指定通配符,它是默认的。此外,您不需要将 %
放入查询中。
我想列出符合某些搜索条件的所有主机组。
我已经试过了:
data = '{"jsonrpc": "2.0",
"method": "hostgroup.get",
"params": {
"output": "extend",
"search": {
"name": [
"' + group_name + '"
]
},
},
"id":' + str(msg_id) + ',
"auth": "' + auth + '"
}'
但这不是正确的语法。
我也试过这个:
data = '{"jsonrpc": "2.0",
"method": "hostgroup.get",
"params": {
"output": "extend",
"filter": {
"name": [
"' + group_name + '"
]
},
},
"id":' + str(msg_id) + ',
"auth": "' + auth + '"
}'
这个有效,但它只与组名完全匹配。因此,它总是 returns 1 或 0 个匹配项。
我尝试在最后一个查询中添加 "options":"searchWildcardsEnabled"
选项,但它对结果没有影响(即它没有产生多个组作为输出)。
我找到了正确的方法。我会 post 放在这里以防其他人以后需要它。
data = '{"jsonrpc": "2.0",
"method": "hostgroup.get",
"params": {
"output": "extend",
"search": {
"name": [
"' + group_name + '"
]
}
},
"id":' + str(msg_id) + ',
"auth": "' + auth + '"
}'
您不需要指定通配符,它是默认的。此外,您不需要将 %
放入查询中。