这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.
2022 Zabbix中国峰会
2022 Zabbix中国峰会

查询

描述

integer/array hostprototype.get(object parameters)

该方法允许根据给定的参数获取主机原型记录。

该方法适用于管理员超级管理员用户类型。可以在用户角色设置中撤销调用该方法的权限。有关详细信息,参阅用户角色

参数

(object)定义所需输出的参数

该方法支持以下属性:

参数 类型 描述
hostids 字符串/数组 仅返回给定ID的主机原型。
discoveryids 字符串/数组 仅返回属于给定LLD规则的主机原型。
inherited 布尔值 如果设置为true 仅返回从模板中继承的监控项。
selectDiscoveryRule 查询 返回主机原型归属的LLD规则的自动发现规则 属性。
selectInterfaces 查询 返回主机原型自定义接口中 接口 属性。
selectGroupLinks 查询 返回主机原型关联的组链接的组链接属性。
selectGroupPrototypes 查询 返回主机原型关联的组原型的 组原型属性。
selectMacros 查询 返回主机原型宏的 属性。
selectParentHost 查询 返回主机原型所属的主机的父主机属性。
selectTags query 返回主机原型标签的 标签属性。
selectTemplates 查询 返回主机原型链接的模板的模板 属性。

支持 count
sortfield 字符串/数组 按给定属性,对结果进行排序

可能的值有: hostid, host, namestatus.
countOutput 布尔值 这个参数对常用Zabbix API信息 页面中所有 get方法都适用。
editable 布尔值
excludeSearch 布尔值
filter 对象
limit 整型
output 查询
preservekeys 布尔值
search 对象
searchByAny 对象
searchWildcardsEnabled 布尔值
sortorder 字符串/数组
startSearch 布尔值

返回值

(integer/array)返回以下:

  • 一组对象;
  • 如果countOutput 参数被使用,返回对象的数量。

示例

从LLD规则中获取主机原型

从LLD规则中获取所有主机原型,组链接,组原型和标签

请求:

{
           "jsonrpc": "2.0",
           "method": "hostprototype.get",
           "params": {
               "output": "extend",
               "selectInterfaces": "extend",
               "selectGroupLinks": "extend",
               "selectGroupPrototypes": "extend",
               "selectTags": "extend",
               "discoveryids": "23554"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "hostid": "10092",
                   "host": "{#HV.UUID}",
                   "name": "{#HV.UUID}",
                   "status": "0",
                   "templateid": "0",
                   "discover": "0",
                   "custom_interfaces": "1",
                   "inventory_mode": "-1",
                   "groupLinks": [
                       {
                           "group_prototypeid": "4",
                           "hostid": "10092",
                           "groupid": "7",
                           "templateid": "0"
                       }
                   ],
                   "groupPrototypes": [
                       {
                           "group_prototypeid": "7",
                           "hostid": "10092",
                           "name": "{#CLUSTER.NAME}",
                           "templateid": "0"
                       }
                   ],
                   "tags": [
                       {
                           "tag": "Datacenter",
                           "value": "{#DATACENTER.NAME}"
                       },
                       {
                           "tag": "Instance type",
                           "value": "{#INSTANCE_TYPE}"
                       }
                   ],
                   "interfaces": [
                       {
                           "main": "1",
                           "type": "2",
                           "useip": "1",
                           "ip": "127.0.0.1",
                           "dns": "",
                           "port": "161",
                           "details": {
                               "version": "2",
                               "bulk": "1",
                               "community": "{$SNMP_COMMUNITY}"
                           }
                       }
                   ]
               }
           ],
           "id": 1
       }

参考

来源

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