如何在 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 + '"           
   }'

您不需要指定通配符,它​​是默认的。此外,您不需要将 % 放入查询中。