创建

说明

object trigger.create(object/array **triggers**)

此方法允许创建新的触发器。

参数

(object/array)需要创建的触发器。 除standard trigger properties之外,该方法接受以下参数。

Parameter 参数Type 类型Description 说明
dependenciesarray 数组依赖触发的触发器。

触发器必须已定义triggerid属性。
tagsarray 数组Trigger tags. 触发器标签。

指定的触发器表达式必须为展开式。

返回值

(object)返回一个对象,该对象包含在triggerids属性中已创建触发器的ID,返回ID的顺序与传递触发器的顺序相匹配。

范例

创建触发器

创建具有单个触发依赖关系的触发器。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "trigger.create",
  4. "params": [
  5. {
  6. "description": "Processor load is too high on {HOST.NAME}",
  7. "expression": "{Linux server:system.cpu.load[percpu,avg1].last()}>5",
  8. "dependencies": [
  9. {
  10. "triggerid": "17367"
  11. }
  12. ]
  13. },
  14. {
  15. "description": "Service status",
  16. "expression": "{Linux server:log[/var/log/system,Service .* has stopped].strlen()}<>0",
  17. "dependencies": [
  18. {
  19. "triggerid": "17368"
  20. }
  21. ],
  22. "tags": [
  23. {
  24. "tag": "service",
  25. "value": "{{ITEM.VALUE}.regsub(\"Service (.*) has stopped\", \"\\1\")}"
  26. },
  27. {
  28. "tag": "error",
  29. "value": ""
  30. }
  31. ]
  32. }
  33. ],
  34. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  35. "id": 1
  36. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": {
  4. "triggerids": [
  5. "17369",
  6. "17370"
  7. ]
  8. },
  9. "id": 1
  10. }

源码

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