On this page
host.get
描述
integer/array host.get(object parameters)
该方法允许根据给定的参数检索主机。
此方法可供任何类型的用户使用。调用该方法的权限 可以在用户角色设置中撤销。更多信息请参见User roles。
参数
(object) 定义所需输出的参数。
该方法支持以下参数。
| Parameter | Type | Description |
|---|---|---|
| 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 | 仅返回由指定 proxy 监控的主机。 |
| 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 | 如果设置为 true,则仅返回存在已抑制问题的主机。 |
| evaltype | integer | 标签评估方式。 可能的值: 0 - (默认) And/Or; 2 - Or。 |
| severities | integer/array | 仅返回具有指定严重性的主机问题。仅当问题对象为触发器时适用。 |
| tags | object/array | 仅返回具有指定标签的主机。 格式: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...]。空数组返回所有主机。 可能的 operator 值: 0 - (默认) 包含; 1 - 等于; 2 - 不包含; 3 - 不等于; 4 - 存在; 5 - 不存在。 |
| inheritedTags | boolean | 返回其所有关联模板中也具有给定 tags 的主机。可能的值: true - 关联模板也必须具有给定 tags;false - (默认) 忽略关联模板标签。 |
| selectDiscoveries | query | 返回一个 discoveries 属性,其中包含主机低级别发现规则。支持 count。 |
| selectDiscoveryRule | query | 返回一个 discoveryRule 属性,其中包含创建该主机的低级别发现规则(来自 VMware 监控中的主机原型)。 |
| selectGraphs | query | 返回一个 graphs 属性,其中包含主机图形。支持 count。 |
| selectHostDiscovery | query | 返回一个 hostDiscovery 属性,其中包含主机发现对象数据。主机发现对象将已发现主机与主机原型关联,或将主机原型与 LLD 规则关联,并具有以下属性: host - (string) 主机原型的主机;hostid - (string) 已发现主机或主机原型的 ID;parent_hostid - (string) 创建该主机的主机原型 ID;parent_itemid - (string) 创建已发现主机的 LLD 规则 ID;lastcheck - (timestamp) 上次发现主机的时间;status - (int) 主机发现状态:0 - (default) 主机已发现, 1 - 主机不再被发现; ts_delete - (timestamp) 不再被发现的主机将被删除的时间;ts_disable - (timestamp) 不再被发现的主机将被禁用的时间;disable_source - (int) 指示主机是由 LLD 规则还是手动禁用:0 - (default) 自动禁用, 1 - 由 LLD 规则禁用。 |
| selectHostGroups | query | 返回一个 hostgroups 属性,其中包含主机所属的主机组数据。 |
| selectHttpTests | query | 返回一个 httpTests 属性,其中包含主机 web 场景。支持 count。 |
| selectInterfaces | query | 返回一个 interfaces 属性,其中包含主机接口。支持 count。 |
| selectInventory | query | 返回一个 inventory 属性,其中包含主机清单数据。 |
| selectItems | query | 返回一个 items 属性,其中包含主机监控项。支持 count。 |
| selectMacros | query | 返回一个 macros 属性,其中包含主机宏。 |
| selectParentTemplates | query | 返回一个 parentTemplates 属性,其中包含主机关联的 模板。除 Template 对象字段外,还包含 link_type - (integer) 模板与主机关联的方式。可能的值: 0 - (default) 手动关联; 1 - 由 LLD 自动关联。 支持 count。 |
| selectDashboards | query | 返回一个 dashboards 属性。支持 count。 |
| selectTags | query | 返回一个 tags 属性,其中包含主机标签。 |
| selectInheritedTags | query | 返回一个 inheritedTags 属性,其中包含主机关联的所有模板上的标签。 |
| selectTriggers | query | 返回一个 triggers 属性,其中包含主机触发器。支持 count。 |
| selectValueMaps | query | 返回一个 valuemaps 属性,其中包含主机值映射。 |
| filter | object | 仅返回与给定过滤器完全匹配的结果。 接受一个对象,其中键为属性名,值为要匹配的单个值或值数组。 不支持 text 数据类型 的属性。支持附加属性:Host interface 属性。 |
| limitSelects | integer | 限制子选择返回的记录数。 适用于以下子选择: selectParentTemplates - 结果将按 host 排序;selectInterfaces;selectItems - 按 name 排序;selectDiscoveries - 按 name 排序;selectTriggers - 按 description 排序;selectGraphs - 按 name 排序;selectDashboards - 按 name 排序。 |
| search | object | 返回与给定模式匹配的结果(不区分大小写)。 接受一个对象,其中键为属性名,值为要搜索的字符串。如果未提供其他选项,将执行 LIKE "%…%" 搜索。仅支持 string 和 text 数据类型 的属性。支持附加属性:Host interface 属性。 |
| searchInventory | object | 返回其清单数据与给定模式匹配的主机(不区分大小写)。 接受一个对象,其中键为属性名,值为要搜索的字符串。如果未提供其他选项,将执行 LIKE "%…%" 搜索。仅支持 string 和 text 数据类型 的属性。 |
| sortfield | string/array | 按给定属性对结果排序。 可能的值: hostid、host、name、status。 |
| countOutput | boolean | 这些参数在参考说明中有描述。 |
| editable | boolean | |
| excludeSearch | boolean | |
| limit | integer | |
| output | query | |
| preservekeys | boolean | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean | |
| selectGroups (deprecated) |
query | 此参数已弃用,请改用 selectHostGroups。返回一个 groups 属性,其中包含主机所属的主机组数据。 |
返回值
(integer/array) 返回以下之一:
- array 的 objects;
- 如果使用了
countOutput参数,则为检索到的 objects 的数量。
示例
按名称检索数据
检索有关两个名为“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"(Linux by Zabbix agent)模板的 主机。
执行请求:
{
"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
}
按主机标签搜索
检索标签 "host-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
}
检索主机,但排除带有标签 "component" 的主机。
请求:
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["hostid"],
"selectTags": "extend",
"evaltype": 0,
"tags": [
{
"tag": "component",
"value": "",
"operator": 5
}
]
},
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10084",
"tags": [
{
"tag": "class",
"value": "os",
"automatic": "0"
},
{
"tag": "target",
"value": "linux",
"automatic": "0"
}
]
},
{
"hostid": "10629",
"tags": [
{
"tag": "class",
"value": "application",
"automatic": "0"
},
{
"tag": "target",
"value": "browser",
"automatic": "0"
}
]
}
],
"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
}
按问题严重性搜索主机
检索具有“Disaster(灾难)”问题的主机。
执行请求:
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["name"],
"severities": 5
},
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10160",
"name": "Zabbix server"
}
],
"id": 1
}
检索具有“Average(一般)”和“High(严重)”问题的主机。
执行请求:
{
"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
}
获取主机监控项
获取 "Zabbix server" 主机的监控项。该请求仅限于监控项属性 itemid、name 和 status。由于响应内容较大,示例中仅显示了部分监控项。
请求:
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["hostid"],
"selectItems": ["itemid","name","status"],
"filter": {
"host": [
"Zabbix server"
]
}
},
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10084",
"items": [
{
"itemid": "42227",
"name": "运行中的 Zabbix agent 的主机名",
"status": "0"
},
{
"itemid": "42237",
"name": "Zabbix agent ping",
"status": "0"
},
{
"itemid": "42250",
"name": "运行中的 Zabbix agent 版本",
"status": "0"
},
{
"itemid": "42251",
"name": "打开的文件描述符最大数量",
"status": "0"
},
{
"itemid": "42252",
"name": "进程最大数量",
"status": "0"
},
{
"itemid": "69869",
"name": "接口 enp0s3: 入站丢弃的数据包",
"status": "0"
},
{
"itemid": "69870",
"name": "接口 enp0s3: 入站错误的数据包",
"status": "0"
},
{
"itemid": "69871",
"name": "接口 enp0s3: 接收的比特数",
"status": "0"
},
{
"itemid": "69872",
"name": "接口 enp0s3: 出站丢弃的数据包",
"status": "0"
},
{
"itemid": "69873",
"name": "接口 enp0s3: 出站错误的数据包",
"status": "0"
},
{
"itemid": "69874",
"name": "接口 enp0s3: 发送的比特数",
"status": "0"
},
{
"itemid": "42253",
"name": "进程数量",
"status": "0"
},
{
"itemid": "42254",
"name": "运行中的进程数量",
"status": "0"
},
{
"itemid": "42255",
"name": "系统启动时间",
"status": "0"
}
]
}
],
"id": 1
}
另请参阅
来源
CHost::get() 在 ui/include/classes/api/services/CHost.php 中。