创建

说明

object itemprototype.create(object/array **itemPrototypes**)

此方法用于创建新的监控项原型。

参数

(object/array) 需要创建的监控项原型。

标准项原型属性外,该方法还接受以下参数。

属性类型描述
ruleid
(必须)
string该项所属的LLD规则的ID。
applicationsarray要分配给自动发现监控项的应用程序的ID。
applicationPrototypesarray要分配给监控项原型的应用程序原型的名称。
preprocessingarray预处理选项

返回值

(object) 返回一个对象,该对象ID包含在“itemid”属性中。 返回的ID的顺序与传递的item prototypes的顺序相对应。 (object) 返回一个对象,该对象包含在“ itemids “属性下创建的监控项原型的id。返回的id的顺序与传递的监控项原型的顺序相匹配。

示例

创建一个监控项原型

创建一个监控项原型去监控自动发现的文件系统上的磁盘空间。发现监控项 应该每30秒更新数字化的Zabbix agent监控项。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "itemprototype.create",
  4. "params": {
  5. "name": "Free disk space on $1",
  6. "key_": "vfs.fs.size[{#FSNAME},free]",
  7. "hostid": "10197",
  8. "ruleid": "27665",
  9. "type": 0,
  10. "value_type": 3,
  11. "interfaceid": "112",
  12. "delay": "30s"
  13. },
  14. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  15. "id": 1
  16. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": {
  4. "itemids": [
  5. "27666"
  6. ]
  7. },
  8. "id": 1
  9. }

创建一个预处理的监控项原型

创建一个使用每秒变化并带有自定义乘法器作为第二部的监控项。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "itemprototype.create",
  4. "params": {
  5. "name": "Incoming network traffic on {#IFNAME}",
  6. "key_": "net.if.in[{#IFNAME}]",
  7. "hostid": "10001",
  8. "ruleid": "27665",
  9. "type": 0,
  10. "value_type": 3,
  11. "delay": "60s",
  12. "units": "bps",
  13. "interfaceid": "1155",
  14. "preprocessing": [
  15. {
  16. "type": "10",
  17. "params": "",
  18. "error_handler": "0",
  19. "error_handler_params": ""
  20. },
  21. {
  22. "type": "1",
  23. "params": "8",
  24. "error_handler": "2",
  25. "error_handler_params": "10"
  26. }
  27. ]
  28. },
  29. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  30. "id": 1
  31. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": {
  4. "itemids": [
  5. "44211"
  6. ]
  7. },
  8. "id": 1
  9. }

创建依赖监控项原型

创建依赖监控项原型

为ID为44211的主监控项原型创建一个依赖监控项原型。只有在同一个主机的(模板/LLD发现规则)依赖才可以被接受,因此主 监控项原型 和依赖 监控项原型 应该拥有相同的hostid和ruleid。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "itemprototype.create",
  4. "params": {
  5. "hostid": "10001",
  6. "ruleid": "27665",
  7. "name": "Dependent test item prototype",
  8. "key_": "dependent.prototype",
  9. "type": "18",
  10. "master_itemid": "44211",
  11. "value_type": "3"
  12. },
  13. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  14. "id": 1
  15. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": {
  4. "itemids": [
  5. "44212"
  6. ]
  7. },
  8. "id": 1
  9. }

创建 HTTP agent 监控项原型

创建带有URL使用用户宏,查询字段和自定义选项的item prototype。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "itemprototype.create",
  4. "params": {
  5. "type": "19",
  6. "hostid": "10254",
  7. "ruleid":"28256",
  8. "interfaceid":"2",
  9. "name": "api item prototype example",
  10. "key_": "api_http_item",
  11. "value_type": "3",
  12. "url": "{$URL_PROTOTYPE}",
  13. "query_fields": [
  14. {
  15. "min": "10"
  16. },
  17. {
  18. "max": "100"
  19. }
  20. ],
  21. "headers": {
  22. "X-Source": "api"
  23. },
  24. "delay":"35"
  25. },
  26. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  27. "id": 1
  28. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": {
  4. "itemids": [
  5. "28305"
  6. ]
  7. },
  8. "id": 1
  9. }

来源

CItemPrototype::create() in frontends/php/include/classes/api/services/CItemPrototype.php.