获取

描述

host.get(对象参数)整数/数组

此方法允许根据指定的参数获取主机。

任何用户类型均可使用此方法。可以在用户角色中撤销调用方法的权限设置。详情参考 用户角色

参数

(对象) 参数定义了所需的输出。

该方法支持以下参数。

参数描述
groupids字符串/数组只返回属于给定组的主机。
dserviceids字符串/数组只返回与所发现的给定服务相关的主机。
graphids字符串/数组只返回具有给定图形的主机。
hostids字符串/数组只返回具有给定主机id的主机。
httptestids字符串/数组只返回具有给定web检查的主机。
interfaceids字符串/数组只返回使用给定接口的主机。
itemids字符串/数组只返回具有给定监控项的主机。
maintenanceids字符串/数组只返回受给定维护影响的主机。
monitored_hosts标记只返回开启监控的主机。
proxy_hosts标记只返回代理的主机。
proxyids字符串/数组只返回被给定代理监视的主机。
templated_hosts标记返回主机和模板。
templateids字符串/数组只返回链接到给定模板的主机。
triggerids字符串/数组只返回具有给定触发器的主机。
with_items标记只返回有监控项的主机。

覆盖 with_monitored_itemswith_simple_graph_items 参数。
with_item_prototypes标记只返回具有项目原型的主机。

覆盖 with_simple_graph_item_prototypes 参数。
with_simple_graph_item_prototypes标记只返回具有项目原型的主机,该原型支持创建并具有数字类型的信息。
with_graphs标记只返回有图形的主机。
with_graph_prototypes标记只返回具有图形原型的主机。
with_httptests标记只返回有网络检查的主机。

覆盖 with_monitored_httptests 参数.
with_monitored_httptests标记只返回启用web检查的主机。
with_monitored_items标记只返回启用监控项的主机。

覆盖 with_simple_graph_items 参数。
with_monitored_triggers标记只返回启用触发器的主机。触发器中使用的所有监控项也必须启用。
with_simple_graph_items标记只返回具有数字类型信息的条目的主机。
with_triggers标记只返回有触发器的主机。

覆盖 with_monitored_triggers 参数。
withProblemsSuppressed布尔值返回已抑制问题的主机。

可能的值:
null - (默认) 所有主机;
true - 仅包含被抑制问题的主机;
false - 只允许存在未抑制问题的主机。
evaltype整型标记搜索规则。

可能的值:
0 - (默认) 和/或;
2 - 或.
severities整型/属组返回只存在给定严重性问题的主机。仅当问题对象为触发器时适用。
tags数组/对象只返回带有给定标签的主机。根据标记精确匹配,根据标记值进行大小写敏感或不区分大小写的搜索,具体取决于操作符值。
格式: [{“tag”: “<tag>”, “value”: “<value>”, “operator”: “<operator>”}, …].
空数组返回所有主机。

可能的操作符值:
0 - (默认) 包含;
1 - 登录;
2 - 不类似;
3 - 不等于
4 - 存在;
5 - 不存在。
inheritedTags布尔值返回那些在所有链接模板中也给出了 tags 的主机。 默认:

可能的值:
true - 链接模板也必须有tags;
false - (默认) 链接的模板标签将被忽略。
selectDiscoveries查询返回 发现 属性和主机低级发现规则。

支持 count.
selectDiscoveryRule查询返回 发现规则 属性和创建主机的底层发现规则(来自VMware监控中的主机原型)。
selectGraphs查询返回 图形 属性和主机图。

支持 count.
selectGroups查询返回 主机组 属性和主机所属的主机组数据。
selectHostDiscovery查询返回 hostDiscovery 属性和主机发现对象数据。

主机发现对象将发现的主机链接到主机原型,或将主机原型链接到LLD规则,并具有以下属性:
host - (string) 主机原型的主机;
hostid - (string) 发现的主机或主机原型ID;
parent_hostid - (string) 创建主机的主机原型ID;
parent_itemid - (string) 发现主机的LLD规则ID;
lastcheck - (timestamp) 最后发现主机的时间;
ts_delete - (timestamp) 删除已发现主机的时间。
selectHttpTests查询返回 httpTests 属性与主机web场景.

支持 count.
selectInterfaces查询返回 interfaces 属性和主机接口

Supports count
selectInventory查询返回 inventory 属性和主机库存数据。
selectItemsquery返回 items 属性和主机项。

支持 count.
selectMacros查询返回 macros 属性和主机宏。
selectParentTemplates查询返回 parentTemplates 属性和主机链接到的模板。

支持 count.
selectDashboards查询返回 dashboards 属性.

支持 count.
selectTags查询返回 tags 属性和主机标记。
selectInheritedTags查询返回 inheritedTags 属性的标记,这些标记位于链接到主机的所有模板上。
selectTriggers查询返回 triggers 属性和主机触发器。

支持 count.
selectValueMaps查询返回 valuemaps 属性和主机映射值。
filter对象只返回与给定过滤器精确匹配的结果。

接受一个数组,其中键是属性名,值是单个值或要匹配的值数组。

允许通过接口属性进行过滤。
limitSelects整型限制子选择返回的记录数量。

适用于以下子选择:
selectParentTemplates - 结果将按 host 排序;
selectInterfaces;
selectItems - 结果将按 name 排序;
selectDiscoveries - 结果将按 name 排序;
selectTriggers - 结果将按 description 排序;
selectGraphs - 结果将按 name 排序;
selectDashboards - 结果将按 name 排序。
search对象返回匹配给定通配符搜索的结果。

接受一个数组,其中键是属性名,值是要搜索的字符串。如果没有给出额外的选项,这将执行 LIKE “%…%” 搜索。

允许根据接口属性进行搜索。仅适用于文本字段。
searchInventory对象只返回库存数据与给定通配符搜索匹配的主机。

该参数受与 search 相同的附加参数的影响。
sortfield字符串/数组根据给定的属性对结果进行排序。

可能的值: hostid, host, name, status.
countOutput布尔值这些对所有 get 方法通用的参数在 参考注释 中有详细描述。
editableboolean
excludeSearchboolean
limitinteger
outputquery
preservekeysboolean
searchByAnyboolean
searchWildcardsEnabledboolean
sortorderstring/array
startSearchboolean

返回值

(整数/数组) 返回其中之一:

  • 一组对象;
  • 如果使用了 countOutput 参数,则返回获取的对象数量。

示例

按名称检索数据

获取所有关于”Zabbix server”和”Linux server”两个主机的数据。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "host.get",
  4. "params": {
  5. "filter": {
  6. "host": [
  7. "Zabbix server",
  8. "Linux server"
  9. ]
  10. }
  11. },
  12. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  13. "id": 1
  14. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "maintenances": [],
  6. "hostid": "10160",
  7. "proxy_hostid": "0",
  8. "host": "Zabbix server",
  9. "status": "0",
  10. "lastaccess": "0",
  11. "ipmi_authtype": "-1",
  12. "ipmi_privilege": "2",
  13. "ipmi_username": "",
  14. "ipmi_password": "",
  15. "ipmi_disable_until": "0",
  16. "snmp_disable_until": "0",
  17. "maintenanceid": "0",
  18. "maintenance_status": "0",
  19. "maintenance_type": "0",
  20. "maintenance_from": "0",
  21. "name": "Zabbix server",
  22. "description": "The Zabbix monitoring server.",
  23. "tls_connect": "1",
  24. "tls_accept": "1",
  25. "tls_issuer": "",
  26. "tls_subject": ""
  27. },
  28. {
  29. "maintenances": [],
  30. "hostid": "10167",
  31. "proxy_hostid": "0",
  32. "host": "Linux server",
  33. "status": "0",
  34. "lastaccess": "0",
  35. "ipmi_authtype": "-1",
  36. "ipmi_privilege": "2",
  37. "ipmi_username": "",
  38. "ipmi_password": "",
  39. "ipmi_disable_until": "0",
  40. "snmp_disable_until": "0",
  41. "maintenanceid": "0",
  42. "maintenance_status": "0",
  43. "maintenance_type": "0",
  44. "maintenance_from": "0",
  45. "name": "Linux server",
  46. "description": "",
  47. "tls_connect": "1",
  48. "tls_accept": "1",
  49. "tls_issuer": "",
  50. "tls_subject": ""
  51. }
  52. ],
  53. "id": 1
  54. }

获取主机组

获取主机”Zabbix server”所属的主机组,并不检索主机本身的详细信息。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "host.get",
  4. "params": {
  5. "output": ["hostid"],
  6. "selectGroups": "extend",
  7. "filter": {
  8. "host": [
  9. "Zabbix server"
  10. ]
  11. }
  12. },
  13. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  14. "id": 2
  15. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "hostid": "10085",
  6. "groups": [
  7. {
  8. "groupid": "2",
  9. "name": "Linux servers",
  10. "internal": "0",
  11. "flags": "0"
  12. },
  13. {
  14. "groupid": "4",
  15. "name": "Zabbix servers",
  16. "internal": "0",
  17. "flags": "0"
  18. }
  19. ]
  20. }
  21. ],
  22. "id": 2
  23. }

获取关联的模板

获取主机”10084”关联的模板的ID和名称。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "host.get",
  4. "params": {
  5. "output": ["hostid"],
  6. "selectParentTemplates": [
  7. "templateid",
  8. "name"
  9. ],
  10. "hostids": "10084"
  11. },
  12. "id": 1,
  13. "auth": "70785d2b494a7302309b48afcdb3a401"
  14. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "hostid": "10084",
  6. "parentTemplates": [
  7. {
  8. "name": "Linux",
  9. "templateid": "10001"
  10. },
  11. {
  12. "name": "Zabbix Server",
  13. "templateid": "10047"
  14. }
  15. ]
  16. }
  17. ],
  18. "id": 1
  19. }

按主机资产数据进行搜索

检索主机资产“OS”字段中包含“Linux”的主机。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "host.get",
  4. "params": {
  5. "output": [
  6. "host"
  7. ],
  8. "selectInventory": [
  9. "os"
  10. ],
  11. "searchInventory": {
  12. "os": "Linux"
  13. }
  14. },
  15. "id": 2,
  16. "auth": "7f9e00124c75e8f25facd5c093f3e9a0"
  17. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "hostid": "10084",
  6. "host": "Zabbix server",
  7. "inventory": {
  8. "os": "Linux Ubuntu"
  9. }
  10. },
  11. {
  12. "hostid": "10107",
  13. "host": "Linux server",
  14. "inventory": {
  15. "os": "Linux Mint"
  16. }
  17. }
  18. ],
  19. "id": 1
  20. }

按主机标记搜索

检索标记为“主机名”等于“Linux服务器”的主机。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "host.get",
  4. "params": {
  5. "output": ["hostid"],
  6. "selectTags": "extend",
  7. "evaltype": 0,
  8. "tags": [
  9. {
  10. "tag": "Host name",
  11. "value": "Linux server",
  12. "operator": 1
  13. }
  14. ]
  15. },
  16. "auth": "7f9e00124c75e8f25facd5c093f3e9a0",
  17. "id": 1
  18. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "hostid": "10085",
  6. "tags": [
  7. {
  8. "tag": "Host name",
  9. "value": "Linux server"
  10. },
  11. {
  12. "tag": "OS",
  13. "value": "RHEL 7"
  14. }
  15. ]
  16. }
  17. ],
  18. "id": 1
  19. }

检索不仅在主机级而且在其链接的父模板中具有这些标记的主机。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "host.get",
  4. "params": {
  5. "output": ["name"],
  6. "tags": [{"tag": "A", "value": "1", "operator": "0"}],
  7. "inheritedTags": true
  8. },
  9. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  10. "id": 1
  11. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "hostid": "10623",
  6. "name": "PC room 1"
  7. },
  8. {
  9. "hostid": "10601",
  10. "name": "Office"
  11. }
  12. ],
  13. "id": 1
  14. }

搜索主机标签和模板标签

检索带有标记的主机以及链接到父模板的所有标记。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "host.get",
  4. "params": {
  5. "output": ["name"],
  6. "hostids": 10502,
  7. "selectTags": ["tag", "value"],
  8. "selectInheritedTags": ["tag", "value"]
  9. },
  10. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  11. "id": 1
  12. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "hostid": "10502",
  6. "name": "Desktop",
  7. "tags": [
  8. {
  9. "tag": "A",
  10. "value": "1"
  11. }
  12. ],
  13. "inheritedTags": [
  14. {
  15. "tag": "B",
  16. "value": "2"
  17. }
  18. ]
  19. }
  20. ],
  21. "id": 1
  22. }

根据问题严重程度搜索主机

检索有“灾难”问题的主机。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "host.get",
  4. "params": {
  5. "output": ["name"],
  6. "severities": 5
  7. },
  8. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  9. "id": 1
  10. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "hostid": "10160",
  6. "name": "Zabbix server"
  7. }
  8. ],
  9. "id": 1
  10. }

检索具有“一般严重”和“严重”问题的主机。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "host.get",
  4. "params": {
  5. "output": ["name"],
  6. "severities": [3, 4]
  7. },
  8. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  9. "id": 1
  10. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "hostid": "20170",
  6. "name": "Database"
  7. },
  8. {
  9. "hostid": "20183",
  10. "name": "workstation"
  11. }
  12. ],
  13. "id": 1
  14. }

另请参阅

源代码

CHost::get() in ui/include/classes/api/services/CHost.php.