创建

描述

object item.create(object/array items)

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

无法通过 Zabbix API 创建 Web 监控项。

此方法仅允许 Admin(管理员)Super admin(超级管理员) 类型的用户使用。调用此方法的权限可以在用户角色设置中撤销。更多信息请参阅 用户角色

参数

(object/array) 创建目标监控项。

除了 标准监控项属性 之外,此方法同样适用以下参数。

参数类型说明
preprocessingarray监控项 预处理 选项。
tagsarray监控项 标签

返回值

(object) 返回一个对象,该对象包含 itemids 属性下创建的监控项的 ID。返回 ID 的顺序与传递监控项的顺序一致。

示例

创建监控项

创建含有 2 个标签的数值型 Zabbix agent 监控项,用于监控 ID 为 “30074” 主机上的可用磁盘空间。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "item.create",
  4. "params": {
  5. "name": "Free disk space on /home/joe/",
  6. "key_": "vfs.fs.size[/home/joe/,free]",
  7. "hostid": "30074",
  8. "type": 0,
  9. "value_type": 3,
  10. "interfaceid": "30084",
  11. "tags": [
  12. {
  13. "tag": "Disk usage"
  14. },
  15. {
  16. "tag": "Equipment",
  17. "value": "Workstation"
  18. }
  19. ],
  20. "delay": "30s"
  21. },
  22. "id": 1
  23. }

响应:

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

创建主机资产监控项

创建 Zabbix agent 监控项,用于增添主机的 “OS” 资产字段。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "item.create",
  4. "params": {
  5. "name": "uname",
  6. "key_": "system.uname",
  7. "hostid": "30021",
  8. "type": 0,
  9. "interfaceid": "30007",
  10. "value_type": 1,
  11. "delay": "10s",
  12. "inventory_link": 5
  13. },
  14. "id": 1
  15. }

响应:

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

创建预处理监控项

创建自定义乘数监控项。

请求

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "item.create",
  4. "params": {
  5. "name": "Device uptime",
  6. "key_": "sysUpTime",
  7. "hostid": "11312",
  8. "type": 4,
  9. "snmp_oid": "SNMPv2-MIB::sysUpTime.0",
  10. "value_type": 1,
  11. "delay": "60s",
  12. "units": "uptime",
  13. "interfaceid": "1156",
  14. "preprocessing": [
  15. {
  16. "type": 1,
  17. "params": "0.01",
  18. "error_handler": 1,
  19. "error_handler_params": ""
  20. }
  21. ]
  22. },
  23. "id": 1
  24. }

响应:

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

创建依赖监控项

创建 ID 为 24759 的主监控项的依赖监控项。仅允许依赖于同一主机,主项和依赖项要具有相同的hostid。

请求

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "item.create",
  4. "params": {
  5. "hostid": "30074",
  6. "name": "Dependent test item",
  7. "key_": "dependent.item",
  8. "type": 18,
  9. "master_itemid": "24759",
  10. "value_type": 2
  11. },
  12. "id": 1
  13. }

响应:

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

创建 HTTP agent 监控项

创建 JSON 响应预处理式的 POST 请求方法监控项。

请求

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "item.create",
  4. "params": {
  5. "url":"http://127.0.0.1/http.php",
  6. "query_fields": [
  7. {
  8. "name": "mode",
  9. "value": "json"
  10. },
  11. {
  12. "name": "min",
  13. "value": "10"
  14. },
  15. {
  16. "name": "max",
  17. "value": "100"
  18. }
  19. ],
  20. "interfaceid": "1",
  21. "type": 19,
  22. "hostid": "10254",
  23. "delay": "5s",
  24. "key_": "json",
  25. "name": "HTTP agent example JSON",
  26. "value_type": 0,
  27. "output_format": 1,
  28. "preprocessing": [
  29. {
  30. "type": 12,
  31. "params": "$.random",
  32. "error_handler": 0,
  33. "error_handler_params": ""
  34. }
  35. ]
  36. },
  37. "id": 1
  38. }

响应:

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

创建脚本监控项

创建用于简单数据收集的脚本监控项。

请求

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "item.create",
  4. "params": {
  5. "name": "Script example",
  6. "key_": "custom.script.item",
  7. "hostid": "12345",
  8. "type": 21,
  9. "value_type": 4,
  10. "params": "var request = new HttpRequest();\nreturn request.post(\"https://postman-echo.com/post\", JSON.parse(value));",
  11. "parameters": [
  12. {
  13. "name": "host",
  14. "value": "{HOST.CONN}"
  15. }
  16. ],
  17. "timeout": "6s",
  18. "delay": "30s"
  19. },
  20. "id": 1
  21. }

响应:

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

来源

CItem::create() in ui/include/classes/api/services/CItem.php.