drule.get

描述

integer/array drule.get(object parameters)

该方法允许根据给定的参数检索发现规则.

参数

(object) 定义希望输出的参数.

该方法支持以下参数.

参数 类型 描述
dhostids string/array 返回给定发现主机创建的发现规则
druleids string/array 返回给定ID的发现规则
dserviceids string/array 返回给定发现服务创建的发现规则
selectDChecks query 属性下返回被发现规则使用的发现检查 支持 count.
selectDHosts query dhosts属性下返回发现规则创建的发现主机支持 count.
limitSelects integer 子选项返回的记录数限制. \适用于如下子选项: selectDChecks - 结果按dcheckid排序; selectDHosts - 结果按dhostsid排序.
sortfield string/array 根据指定的属性字段进行排序. 可能的值: druleid and name.
countOutput flag 下面这些参数的get方法在reference commentary里面有详细说明.
editable boolean
excludeSearch flag
filter object
limit integer
output query
preservekeys flag
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch flag

返回值

(integer/array) 返回:

  • 对象数组;

  • 如果使用了countOutput参数,将返回对象的计数.

例子

检索所有的发现规则

获取已经配置的发现规则及它们所使用的发现检查.

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "drule.get",
  4. "params": {
  5. "output": "extend",
  6. "selectDChecks": "extend"
  7. },
  8. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  9. "id": 1
  10. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "druleid": "2",
  6. "proxy_hostid": "0",
  7. "name": "Local network",
  8. "iprange": "192.168.3.1-255",
  9. "delay": "5s",
  10. "nextcheck": "1348754327",
  11. "status": "0",
  12. "dchecks": [
  13. {
  14. "dcheckid": "7",
  15. "druleid": "2",
  16. "type": "3",
  17. "key_": "",
  18. "snmp_community": "",
  19. "ports": "21",
  20. "snmpv3_securityname": "",
  21. "snmpv3_securitylevel": "0",
  22. "snmpv3_authpassphrase": "",
  23. "snmpv3_privpassphrase": "",
  24. "uniq": "0",
  25. "snmpv3_authprotocol": "0",
  26. "snmpv3_privprotocol": "0"
  27. },
  28. {
  29. "dcheckid": "8",
  30. "druleid": "2",
  31. "type": "4",
  32. "key_": "",
  33. "snmp_community": "",
  34. "ports": "80",
  35. "snmpv3_securityname": "",
  36. "snmpv3_securitylevel": "0",
  37. "snmpv3_authpassphrase": "",
  38. "snmpv3_privpassphrase": "",
  39. "uniq": "0",
  40. "snmpv3_authprotocol": "0",
  41. "snmpv3_privprotocol": "0"
  42. }
  43. ]
  44. },
  45. {
  46. "druleid": "6",
  47. "proxy_hostid": "0",
  48. "name": "Zabbix agent discovery",
  49. "iprange": "192.168.1.1-255",
  50. "delay": "1h",
  51. "nextcheck": "0",
  52. "status": "0",
  53. "dchecks": [
  54. {
  55. "dcheckid": "10",
  56. "druleid": "6",
  57. "type": "9",
  58. "key_": "system.uname",
  59. "snmp_community": "",
  60. "ports": "10050",
  61. "snmpv3_securityname": "",
  62. "snmpv3_securitylevel": "0",
  63. "snmpv3_authpassphrase": "",
  64. "snmpv3_privpassphrase": "",
  65. "uniq": "0",
  66. "snmpv3_authprotocol": "0",
  67. "snmpv3_privprotocol": "0"
  68. }
  69. ]
  70. }
  71. ],
  72. "id": 1
  73. }

参考

来源

CDRule::get() in frontends/php/include/classes/api/services/CDRule.php.