integer/array host.get(object parameters)
该方法允许根据给定参数检索主机.
此方法可供任何类型的用户使用. 调用该方法的权限可以在用户角色设置中撤销. 更多信息请参阅User roles.
(object)
定义期望输出的参数.
该方法支持以下参数.
参数 | 数据类型 | 描述 |
---|---|---|
groupids | ID/array | 仅返回属于指定组的主机. |
dserviceids | ID/array | 仅返回与指定发现服务相关的主机. |
graphids | ID/array | 仅返回包含指定图形的主机. |
hostids | ID/array | 仅返回具有指定主机 ID的主机. |
httptestids | ID/array | 仅返回包含指定Web检查的主机. |
interfaceids | ID/array | 仅返回使用指定接口的主机. |
itemids | ID/array | 仅返回包含指定监控项的主机. |
maintenanceids | ID/array | 仅返回受指定维护影响的主机. |
monitored_hosts | flag | 仅返回受监控的主机. |
proxyids | ID/array | 仅返回由指定proxies监控的主机. |
proxy_groupids | ID/array | 仅返回由指定proxy 组监控的主机. |
templated_hosts | flag | 同时返回主机和模板. |
templateids | ID/array | 仅返回链接到指定模板的主机. |
triggerids | ID/array | 仅返回包含指定触发器的主机. |
with_items | flag | 仅返回包含监控项的主机. 覆盖 with_monitored_items 和with_simple_graph_items 参数. |
with_item_prototypes | flag | 仅返回包含监控项原型的主机. 覆盖 with_simple_graph_item_prototypes 参数. |
with_simple_graph_item_prototypes | flag | 仅返回包含已启用创建且具有数值类型信息的监控项原型的主机. |
with_graphs | flag | 仅返回包含图形的主机. |
with_graph_prototypes | flag | 仅返回包含图形原型的主机. |
with_httptests | flag | 仅返回包含Web检查的主机. 覆盖 with_monitored_httptests 参数. |
with_monitored_httptests | flag | 仅返回包含已启用Web检查的主机. |
with_monitored_items | flag | 仅返回包含已启用监控项的主机. 覆盖 with_simple_graph_items 参数. |
with_monitored_triggers | flag | 仅返回包含已启用触发器的主机. 触发器使用的所有监控项也必须启用. |
with_simple_graph_items | flag | 仅返回包含具有数值类型信息的监控项的主机. |
with_triggers | flag | 仅返回包含触发器的主机. 覆盖 with_monitored_triggers 参数. |
withProblemsSuppressed | boolean | 返回具有被抑制问题的主机. 可能值: null - (默认) 所有主机;true - 仅包含被抑制问题的主机;false - 仅包含未被抑制问题的主机. |
evaltype | integer | 标签搜索规则. 可能值: 0 - (默认) 与/或; 2 - 或. |
severities | integer/array | 返回仅包含指定严重性问题的主机. 仅当问题object为触发器时适用. |
tags | object/array | 仅返回具有指定标签的主机. 根据运算符值对标签值进行精确匹配或大小写敏感/不敏感搜索. 格式: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...] .空array返回所有主机. 可能运算符值: 0 - (默认) 包含; 1 - 等于; 2 - 不相似; 3 - 不等于; 4 - 存在; 5 - 不存在. |
inheritedTags | boolean | 返回主机其所有链接模板也包含指定tags . 默认:可能值: true - 链接模板也必须包含指定tags ;false - (默认) 忽略链接模板标签. |
selectDiscoveries | query | 返回包含主机低级发现规则的discoveries 属性.支持 count . |
selectDiscoveryData | query | 返回包含主机发现object数据的discoveryData 属性. 主机发现object将发现的主机链接到从中发现的一个主机原型.主机发现object将发现的主机链接到一个主机原型或将一个主机原型链接到LLD规则,并具有以下属性: parent_hostid - (string) 创建主机的主机原型ID;parent_itemid - (string) 创建发现主机的LLD规则ID;lastcheck - (时间戳) 主机最后发现时间;status - (整数) 主机发现状态:0 - (默认) 主机已发现, 1 - 主机不再被发现; ts_delete - (时间戳) 不再被发现的一个主机将被删除的时间;ts_disable - (时间戳) 不再被发现的一个主机将被禁用的时间;disable_source - (整数) 指示主机是由LLD规则还是手动禁用:0 - (默认) 自动禁用, 1 - 由LLD规则禁用. |
selectDiscoveryRule | query | 返回包含创建主机的低级发现规则的discoveryRule 属性(来自VMware监控中的主机原型). |
selectDiscoveryRulePrototype | query | 返回包含创建主机的父LLD规则原型的discoveryRulePrototype 属性(来自VMware监控中的主机原型). |
selectGraphs | query | 返回包含主机图形的graphs 属性.支持 count . |
selectHostDiscovery | query | 返回包含主机发现object数据的hostDiscovery 属性.此query已弃用,请改用 selectDiscoveryData . |
selectHostGroups | query | 返回包含主机所属主机组数据的hostgroups 属性. |
selectHttpTests | query | 返回包含主机Web场景的httpTests 属性.支持 count . |
selectInterfaces | query | 返回包含主机接口的interfaces 属性.支持 count . |
selectInventory | query | 返回包含主机清单数据的inventory 属性. |
selectItems | query | 返回包含主机监控项的items 属性.支持 count . |
selectMacros | query | 返回包含主机宏的macros 属性. |
selectParentTemplates | query | 返回包含templates的parentTemplates 属性,主机链接到这些模板.除了模板object字段外,还包含 link_type - (integer) 模板链接到主机的方式.可能值: 0 - (默认) 手动链接; 1 - 由LLD自动链接. 支持 count . |
selectDashboards | query | 返回dashboards 属性.支持 count . |
selectTags | query | 返回包含主机标签的tags 属性. |
selectInheritedTags | query | 返回包含链接到主机的所有模板上标签的inheritedTags 属性. |
selectTriggers | query | 返回包含主机触发器的triggers 属性.支持 count . |
selectValueMaps | query | 返回包含主机值映射的valuemaps 属性. |
filter | object | 仅返回完全匹配给定筛选条件的结果. 接受一个object,其中键是属性名,值是要匹配的单个值或array值. 不支持 text 数据类型的属性.支持附加属性: 主机-接口-object属性. |
limitSelects | integer | 限制子查询返回的记录数. 适用于以下子查询: selectParentTemplates - 结果将按host 排序;selectInterfaces ;selectItems - 按name 排序;selectDiscoveries - 按name 排序;selectTriggers - 按description 排序;selectGraphs - 按name 排序;selectDashboards - 按name 排序. |
search | object | 返回匹配给定模式的结果(不区分大小写). 接受一个object,其中键是属性名,值是要搜索的字符串. 如果未提供额外选项,将执行 LIKE "%…%" 搜索.仅支持 string 和text 数据类型的属性.支持附加属性: 主机-接口-object属性. |
searchInventory | object | 返回清单数据匹配给定模式的主机(不区分大小写). 接受一个object,其中键是属性名,值是要搜索的字符串. 如果未提供额外选项,将执行 LIKE "%…%" 搜索.仅支持 string 和text 数据类型的属性. |
sortfield | string/array | 按给定属性排序结果. 可能值: hostid , host , name , status . |
countOutput | boolean | 这些参数在通用get方法参数中有描述. |
editable | boolean | |
excludeSearch | boolean | |
limit | integer | |
output | query | |
preservekeys | boolean | |
searchByAny | boolean | |
searchWildcardsEnabled | boolean | |
sortorder | string/array | |
startSearch | boolean |
(integer/array)
返回以下两种情况之一:
countOutput
参数时)获取两个名为"Zabbix server"和"Linux server"的主机的所有数据.
执行请求:
{ "jsonrpc": "2.0", "method": "host.get", "params": { "filter": { "host": [ "Zabbix server", "Linux server" ] } }, "id": 1 }
响应:
{ "jsonrpc": "2.0", "result": [ { "hostid": "10160", "proxyid": "0", "host": "Zabbix server", "status": "0", "ipmi_authtype": "-1", "ipmi_privilege": "2", "ipmi_username": "", "ipmi_password": "", "maintenanceid": "0", "maintenance_status": "0", "maintenance_type": "0", "maintenance_from": "0", "name": "Zabbix server", "flags": "0", "description": "The Zabbix monitoring server.", "tls_connect": "1", "tls_accept": "1", "tls_issuer": "", "tls_subject": "", "proxy_groupid": "0", "monitored_by": "0", "inventory_mode": "1", "active_available": "1", "assigned_proxyid": "0" }, { "hostid": "10167", "proxyid": "0", "host": "Linux server", "status": "0", "ipmi_authtype": "-1", "ipmi_privilege": "2", "ipmi_username": "", "ipmi_password": "", "maintenanceid": "0", "maintenance_status": "0", "maintenance_type": "0", "maintenance_from": "0", "name": "Linux server", "flags": "0", "description": "", "tls_connect": "1", "tls_accept": "1", "tls_issuer": "", "tls_subject": "", "proxy_groupid": "0", "monitored_by": "0", "inventory_mode": "1", "active_available": "1", "assigned_proxyid": "0" } ], "id": 1 }
获取主机所属的"Zabbix server"主机组
执行请求:
{ "jsonrpc": "2.0", "method": "host.get", "params": { "output": ["hostid"], "selectHostGroups": "extend", "filter": { "host": [ "Zabbix server" ] } }, "id": 1 }
响应:
{ "jsonrpc": "2.0", "result": [ { "hostid": "10085", "hostgroups": [ { "groupid": "2", "name": "Linux servers", "flags": "0", "uuid": "dc579cd7a1a34222933f24f52a68bcd8" }, { "groupid": "4", "name": "Zabbix servers", "flags": "0", "uuid": "6f6799aa69e844b4b3918f779f2abf08" } ] } ], "id": 1 }
获取链接到主机 "10084"的模板ID和名称.
执行请求:
{ "jsonrpc": "2.0", "method": "host.get", "params": { "output": ["hostid"], "selectParentTemplates": [ "templateid", "name" ], "hostids": "10084" }, "id": 1 }
响应:
{ "jsonrpc": "2.0", "result": [ { "hostid": "10084", "parentTemplates": [ { "name": "Linux", "templateid": "10001" }, { "name": "Zabbix Server", "templateid": "10047" } ] } ], "id": 1 }
获取已关联"10001"(由Zabbix agent提供的Linux)模板的主机
执行请求:
{ "jsonrpc": "2.0", "method": "host.get", "params": { "output": ["hostid", "name"], "templateids": "10001" }, "id": 1 }
响应:
{ "jsonrpc": "2.0", "result": [ { "templateid": "10001", "hosts": [ { "hostid": "10084", "name": "Zabbix server" }, { "hostid": "10603", "name": "Host 1" }, { "hostid": "10604", "name": "Host 2" } ] } ], "id": 1 }
检索在主机资产清单"OS"字段中包含"Linux"的主机
执行请求:
{ "jsonrpc": "2.0", "method": "host.get", "params": { "output": [ "host" ], "selectInventory": [ "os" ], "searchInventory": { "os": "Linux" } }, "id": 1 }
响应:
{ "jsonrpc": "2.0", "result": [ { "hostid": "10084", "host": "Zabbix server", "inventory": { "os": "Linux Ubuntu" } }, { "hostid": "10107", "host": "Linux server", "inventory": { "os": "Linux Mint" } } ], "id": 1 }
获取标签"主机-name"等于"linux-server"的主机
执行请求:
{ "jsonrpc": "2.0", "method": "host.get", "params": { "output": ["hostid"], "selectTags": "extend", "evaltype": 0, "tags": [ { "tag": "host-name", "value": "linux-server", "operator": 1 } ] }, "id": 1 }
响应:
{ "jsonrpc": "2.0", "result": [ { "hostid": "10085", "tags": [ { "tag": "host-name", "value": "linux-server", "automatic": "0" }, { "tag": "os", "value": "rhel-7", "automatic": "0" } ] } ], "id": 1 }
获取不仅在主机级别上具有这些标签,还在其链接的父模板中具有这些标签的主机
执行请求:
{ "jsonrpc": "2.0", "method": "host.get", "params": { "output": ["name"], "tags": [ { "tag": "os", "value": "rhel-7", "operator": 1 } ], "inheritedTags": true }, "id": 1 }
响应:
{ "jsonrpc": "2.0", "result": [ { "hostid": "10623", "name": "PC room 1" }, { "hostid": "10601", "name": "Office" } ], "id": 1 }
获取带标签的一个主机以及链接到父模板的所有标签
执行请求:
{ "jsonrpc": "2.0", "method": "host.get", "params": { "output": ["name"], "hostids": 10502, "selectTags": ["tag", "value"], "selectInheritedTags": ["tag", "value"] }, "id": 1 }
响应:
{ "jsonrpc": "2.0", "result": [ { "hostid": "10502", "name": "Desktop", "tags": [ { "tag": "host-name", "value": "linux-server" }, { "tag": "os", "value": "rhel-7" } ], "inheritedTags": [ { "tag": "class", "value": "os" }, { "tag": "target", "value": "linux" }, { "tag": "os", "value": "rhel-7" } ] } ], "id": 1 }
获取存在"灾难"级别问题的主机
执行请求:
{ "jsonrpc": "2.0", "method": "host.get", "params": { "output": ["name"], "severities": 5 }, "id": 1 }
响应:
获取存在"一般"和"严重"级别问题的主机
执行请求:
{ "jsonrpc": "2.0", "method": "host.get", "params": { "output": ["name"], "severities": [3, 4] }, "id": 1 }
响应:
{ "jsonrpc": "2.0", "result": [ { "hostid": "20170", "name": "Database" }, { "hostid": "20183", "name": "workstation" } ], "id": 1 }
CHost::get() 位于 ui/include/classes/api/services/CHost.php 文件中。