host.get(对象参数)整数/数组
此方法允许根据指定的参数获取主机。
任何用户类型均可使用此方法。可以在用户角色中撤销调用方法的权限设置。详情参考 用户角色
(object)
定义所需输出的参数。
该方法支持以下参数。
参数 | 类型 | 描述 |
---|---|---|
groupids | string/array | 只返回属于给定组的主机。 |
dserviceids | string/array | 只返回与给定发现服务相关的主机。 |
graphids | string/array | 只返回具有给定图表的主机。 |
hostids | string/array | 只返回具有给定主机ID的主机。 |
httptestids | string/array | 只返回具有给定网页测试的主机。 |
interfaceids | string/array | 只返回使用给定接口的主机。 |
itemids | string/array | 只返回具有给定监控项的主机。 |
maintenanceids | string/array | 只返回受给定维护影响的主机。 |
monitored_hosts | flag | 只返回被监控的主机。 |
proxy_hosts | flag | 只返回proxy。 |
proxyids | string/array | 只返回由给定proxy监控的主机。 |
templated_hosts | flag | 同时返回主机和模板。 |
templateids | string/array | 只返回链接到给定模板的主机。 |
triggerids | string/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 | 只返回具有网页检查的主机。 覆盖 with_monitored_httptests 参数。 |
with_monitored_httptests | flag | 只返回具有启用网页测试的主机。 |
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 - (默认) And/Or; 2 - Or。 |
severities | integer/array | 只返回具有给定严重性问题的主机。仅当问题对象是触发器时适用。 |
tags | object/array | 只返回具有给定标签的主机。根据运算符的值,对标签进行精确匹配或对标签值进行大小写敏感或不敏感的搜索。 格式: [{"tag": "<tag>", "value": "<value>", "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 。 |
selectGroups | query | 返回主机所属的groups属性的主机组数据。 |
selectHostDiscovery | query | 返回一个hostDiscovery 属性,其中包含主机发现对象数据。主机发现对象将发现的主机链接到主机原型或将主机原型链接到LLD规则,并具有以下属性: host - (字符串) 主机原型的主机;hostid - (字符串) 发现的主机或主机原型的ID;parent_hostid - (字符串) 从创建主机的主机原型的ID;parent_itemid - (字符串) 创建发现主机的LLD规则的ID;lastcheck - (时间戳) 最后发现主机的时间;ts_delete - (时间戳) 将删除不再发现的主机的时间。 |
selectHttpTests | query | 返回具有主机Web场景的httpTests属性。 支持 count 。 |
selectInterfaces | query | 返回具有主机接口的interfaces属性。 支持 count 。 |
selectInventory | query | 返回具有主机清单数据的inventory属性。 |
selectItems | query | 返回具有主机监控项的items属性。 支持 count 。 |
selectMacros | query | 返回具有主机宏的macros属性。 |
selectParentTemplates | query | 返回具有主机链接的模板的parentTemplates属性。 支持 count 。 |
selectDashboards | query | 返回具有dashboards属性。 支持 count 。 |
selectTags | query | 返回具有主机标签的tags属性。 |
selectInheritedTags | query | 返回具有在所有链接到主机的模板上的inheritedTags属性的标签。 |
selectTriggers | query | 返回具有主机触发器的triggers属性。 支持 count 。 |
selectValueMaps | query | 返回具有主机值映射的valuemaps属性。 |
filter | object | 只返回完全匹配给定过滤的结果。 接受一个数组,其中键是属性名称,值可以是单个值或要匹配的值数组。 允许按接口属性过滤。不适用于 text 字段。 |
limitSelects | integer | 限制子选择返回的记录数。 适用于以下子选择: selectParentTemplates - 结果将按host 排序;selectInterfaces ;selectItems - 按name 排序;selectDiscoveries - 按name 排序;selectTriggers - 按description 排序;selectGraphs - 按name 排序;selectDashboards - 按name 排序。 |
search | object | 返回与给定模式匹配的结果(不区分大小写)。 接受一个数组,其中键是属性名称,值是要搜索的字符串。如果没有给定其他选项,这将执行 LIKE "%…%" 搜索。允许按接口属性搜索。仅适用于 string 和text 字段。 |
searchInventory | object | 只返回清单数据与给定通配符搜索匹配的主机。 此参数受 search 的相同附加参数影响。 |
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 |
(整数/数组)
返回其中之一:
countOutput
参数,则返回获取的对象数量。获取所有关于"Zabbix server"和"Linux server"两个主机的数据。
请求:
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"filter": {
"host": [
"Zabbix server",
"Linux server"
]
}
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": [
{
"maintenances": [],
"hostid": "10160",
"proxy_hostid": "0",
"host": "Zabbix server",
"status": "0",
"lastaccess": "0",
"ipmi_authtype": "-1",
"ipmi_privilege": "2",
"ipmi_username": "",
"ipmi_password": "",
"ipmi_disable_until": "0",
"snmp_disable_until": "0",
"maintenanceid": "0",
"maintenance_status": "0",
"maintenance_type": "0",
"maintenance_from": "0",
"name": "Zabbix server",
"description": "The Zabbix monitoring server.",
"tls_connect": "1",
"tls_accept": "1",
"tls_issuer": "",
"tls_subject": ""
},
{
"maintenances": [],
"hostid": "10167",
"proxy_hostid": "0",
"host": "Linux server",
"status": "0",
"lastaccess": "0",
"ipmi_authtype": "-1",
"ipmi_privilege": "2",
"ipmi_username": "",
"ipmi_password": "",
"ipmi_disable_until": "0",
"snmp_disable_until": "0",
"maintenanceid": "0",
"maintenance_status": "0",
"maintenance_type": "0",
"maintenance_from": "0",
"name": "Linux server",
"description": "",
"tls_connect": "1",
"tls_accept": "1",
"tls_issuer": "",
"tls_subject": ""
}
],
"id": 1
}
获取主机"Zabbix server"所属的主机组,并不检索主机本身的详细信息。
请求:
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["hostid"],
"selectGroups": "extend",
"filter": {
"host": [
"Zabbix server"
]
}
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 2
}
响应:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10085",
"groups": [
{
"groupid": "2",
"name": "Linux servers",
"internal": "0",
"flags": "0"
},
{
"groupid": "4",
"name": "Zabbix servers",
"internal": "0",
"flags": "0"
}
]
}
],
"id": 2
}
获取主机"10084"关联的模板的ID和名称。
请求:
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["hostid"],
"selectParentTemplates": [
"templateid",
"name"
],
"hostids": "10084"
},
"id": 1,
"auth": "70785d2b494a7302309b48afcdb3a401"
}
响应:
{
"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"
},
"auth": "70785d2b494a7302309b48afcdb3a401",
"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": 2,
"auth": "7f9e00124c75e8f25facd5c093f3e9a0"
}
响应:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10084",
"host": "Zabbix server",
"inventory": {
"os": "Linux Ubuntu"
}
},
{
"hostid": "10107",
"host": "Linux server",
"inventory": {
"os": "Linux Mint"
}
}
],
"id": 1
}
检索标记为“主机名”等于“Linux服务器”的主机。
请求:
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["hostid"],
"selectTags": "extend",
"evaltype": 0,
"tags": [
{
"tag": "Host name",
"value": "Linux server",
"operator": 1
}
]
},
"auth": "7f9e00124c75e8f25facd5c093f3e9a0",
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10085",
"tags": [
{
"tag": "Host name",
"value": "Linux server"
},
{
"tag": "OS",
"value": "RHEL 7"
}
]
}
],
"id": 1
}
检索不仅在主机级而且在其链接的父模板中具有这些标记的主机。
请求:
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["name"],
"tags": [{"tag": "A", "value": "1", "operator": "0"}],
"inheritedTags": true
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"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"]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10502",
"name": "Desktop",
"tags": [
{
"tag": "A",
"value": "1"
}
],
"inheritedTags": [
{
"tag": "B",
"value": "2"
}
]
}
],
"id": 1
}
检索有“灾难”问题的主机。
请求:
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["name"],
"severities": 5
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
响应:
检索具有“一般严重”和“严重”问题的主机。
请求:
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["name"],
"severities": [3, 4]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "20170",
"name": "Database"
},
{
"hostid": "20183",
"name": "workstation"
}
],
"id": 1
}
CHost::get() in ui/include/classes/api/services/CHost.php.