查询

描述

integer/array hostprototype.get(object parameters)

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

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

参数

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

该方法支持以下属性:

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

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "hostprototype.get",
  4. "params": {
  5. "output": "extend",
  6. "selectInterfaces": "extend",
  7. "selectGroupLinks": "extend",
  8. "selectGroupPrototypes": "extend",
  9. "selectTags": "extend",
  10. "discoveryids": "23554"
  11. },
  12. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  13. "id": 1
  14. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "hostid": "10092",
  6. "host": "{#HV.UUID}",
  7. "name": "{#HV.UUID}",
  8. "status": "0",
  9. "templateid": "0",
  10. "discover": "0",
  11. "custom_interfaces": "1",
  12. "inventory_mode": "-1",
  13. "groupLinks": [
  14. {
  15. "group_prototypeid": "4",
  16. "hostid": "10092",
  17. "groupid": "7",
  18. "templateid": "0"
  19. }
  20. ],
  21. "groupPrototypes": [
  22. {
  23. "group_prototypeid": "7",
  24. "hostid": "10092",
  25. "name": "{#CLUSTER.NAME}",
  26. "templateid": "0"
  27. }
  28. ],
  29. "tags": [
  30. {
  31. "tag": "Datacenter",
  32. "value": "{#DATACENTER.NAME}"
  33. },
  34. {
  35. "tag": "Instance type",
  36. "value": "{#INSTANCE_TYPE}"
  37. }
  38. ],
  39. "interfaces": [
  40. {
  41. "main": "1",
  42. "type": "2",
  43. "useip": "1",
  44. "ip": "127.0.0.1",
  45. "dns": "",
  46. "port": "161",
  47. "details": {
  48. "version": "2",
  49. "bulk": "1",
  50. "community": "{$SNMP_COMMUNITY}"
  51. }
  52. }
  53. ]
  54. }
  55. ],
  56. "id": 1
  57. }

参考

来源

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