获取

说明

integer/array triggerprototype.get(object **parameters**)

此方法允许根据指定的参数检索触发器原型。

参数

(object)定义需要输出的参数。 该方法支持以下参数。

参数类型说明
activeflag仅返回所属被监控主机的已启用触发器原型。
applicationidsstring/array仅返回来自指定应用集中包含监控项的触发器原型。
discoveryidsstring/array仅返回所属指定低级别发现规则的触发器原型。
functionsstring/array仅返回使用指定函数的触发器。

有关支持的功能列表,请参阅supported trigger functions 页面。
groupstring仅返回来自指定名称的主机组中所属主机的触发器原型。
groupidsstring/array仅返回来自指定主机组中所属主机的触发器原型。
hoststring仅返回指定名称的所属主机的触发器原型。
hostidsstring/array仅返回指定主机所属的触发器原型。
inheritedboolean仅返回从模板继承的触发器原型,如果设置为true
maintenanceboolean仅返回在维护中所属主机的已启用触发器原型,如果设置为true
min_severityinteger仅返回严重级别大于或等于指定严重级别的触发器原型。
monitoredflag仅返回所属被监控主机的已启用触发器原型,并包含已启用的监控项。
templatedboolean仅返回所属模板的触发器原型,如果设置为true
templateidsstring/array仅返回指定模板所属的触发器原型。
triggeridsstring/array仅返回指定ID的触发器原型。
expandExpressionflag展开在触发器原型表达式中的函数和宏。
selectDiscoveryRulequery返回触发器原型所属的低级别发现规则。
selectFunctionsquery返回在functions属性中在触发器中使用的函数。

函数对象代表使用在触发器表达式中的函数,并具有以下属性:
functionid - (string) 函数的ID;
itemid - (string) 使用在函数中的监控项ID;
function - (string) 函数的名称;
parameter - (string) 传递给函数的参数。
selectGroupsquery返回在groups属性中触发器原型所属的主机组。
selectHostsquery返回在hosts属性中触发器所属的主机。
selectItemsquery返回在items属性中触发器所包含的监控项。
selectDependenciesquery返回在dependencies属性中依赖触发器原型的触发器原型和触发器。
selectTagsquery返回在tags属性中触发器原型标签。
filterobject仅返回与指定筛选完全匹配的结果。

接受一个数组,其中键为属性名称,值为单个值或要匹配值的数组。

支持额外的筛选:
host - 触发器原型所属主机的正式名称。
hostid - 触发器原型所属主机的ID。
limitSelectsinteger限制子查询返回的记录数量。

适用于以下子查询:
selectHosts - 以host分类结果。
sortfieldstring/array由指定属性分类结果。

许可值为:triggerid, description, statuspriority
countOutputboolean这些参数十分普遍,适用于所有get方法,详情可参考reference commentary
editableboolean
excludeSearchboolean
limitinteger
outputquery
preservekeysboolean
searchobject
searchByAnyboolean
searchWildcardsEnabledboolean
sortorderstring/array
startSearchboolean

返回值

(integer/array) 返回两者其中任一:

  • 一组对象;

  • 如果已经使用了countOutput参数,则检索对象的计数。

范例

从低级别发现规则中检索触发器原型

从低级别发现规则中检索所有的触发器原型和相关函数。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "triggerprototype.get",
  4. "params": {
  5. "output": "extend",
  6. "selectFunctions": "extend",
  7. "discoveryids": "22450"
  8. },
  9. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  10. "id": 1
  11. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "functions": [
  6. {
  7. "functionid": "12598",
  8. "itemid": "22454",
  9. "function": "last",
  10. "parameter": "0"
  11. }
  12. ],
  13. "triggerid": "13272",
  14. "expression": "{12598}<20",
  15. "description": "Free inodes is less than 20% on volume {#FSNAME}",
  16. "url": "",
  17. "status": "0",
  18. "priority": "2",
  19. "comments": "",
  20. "templateid": "0",
  21. "type": "0",
  22. "flags": "2",
  23. "recovery_mode": "0",
  24. "recovery_expression": "",
  25. "correlation_mode": "0",
  26. "correlation_tag": "",
  27. "manual_close": "0"
  28. },
  29. {
  30. "functions": [
  31. {
  32. "functionid": "13500",
  33. "itemid": "22686",
  34. "function": "last",
  35. "parameter": "0"
  36. }
  37. ],
  38. "triggerid": "13266",
  39. "expression": "{13500}<201",
  40. "description": "Free disk space is less than 20% on volume {#FSNAME}",
  41. "url": "",
  42. "status": "0",
  43. "priority": "2",
  44. "comments": "",
  45. "templateid": "0",
  46. "type": "0",
  47. "flags": "2",
  48. "recovery_mode": "0",
  49. "recovery_expression": "",
  50. "correlation_mode": "0",
  51. "correlation_tag": "",
  52. "manual_close": "0"
  53. }
  54. ],
  55. "id": 1
  56. }

根据标签检索特定的触发器原型

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "triggerprototype.get",
  4. "params": {
  5. "output": [
  6. "triggerid",
  7. "description"
  8. ]
  9. "selectTags": "extend",
  10. "triggerids": [
  11. "17373"
  12. ]
  13. },
  14. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  15. "id": 1
  16. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "triggerid": "17373",
  6. "description": "Free disk space is less than 20% on volume {#FSNAME}",
  7. "tags": [
  8. {
  9. "tag": "volume",
  10. "value": "{#FSNAME}"
  11. },
  12. {
  13. "tag": "type",
  14. "value": "{#FSTYPE}"
  15. }
  16. ]
  17. }
  18. ],
  19. "id": 1
  20. }

参考

源码

CTriggerPrototype::get()方法可在frontends/php/include/classes/api/services/CTriggerPrototype.php中参考。