task.create

描述

object task.create(object/array tasks)

此方法允许create新任务(例如收集诊断数据 或检查监控项或无需重新加载配置的低级发现规则)。

此方法仅适用于超级管理员用户类型。 调用该方法的权限可在用户角色设置中撤销。详见 User roles 获取更多信息。

参数

(object/array) 一个用于create的任务.

该方法接受以下参数.

参数 数据类型 描述
type
(required)
integer 任务类型.

可能的值:
1 - 诊断信息;
6 - 立即检查.
request
(required)
object 根据任务类型的任务请求object. 请求object的正确格式在Task object部分描述.
proxy_hostid integer Proxy关于诊断信息任务将收集的数据.

对于'立即检查'任务忽略此参数.

注意 '立即检查'任务只能为以下类型的监控项/发现规则创建:

  • Zabbix agent
  • SNMPv1/v2/v3 agent
  • 简单检查
  • 内部检查
  • 外部检查
  • 数据库监控
  • HTTP agent
  • IPMI agent
  • SSH agent
  • TELNET agent
  • 计算检查
  • JMX agent

返回值

(object) 返回一个包含所创建任务ID的objecttaskids属性下。为每个监控项创建一个任务 低级发现规则。返回的ID顺序与 传递的itemids顺序

示例

创建任务

为两个监控项创建任务check now。一个是监控项,另一个是低级发现规则。

请求:

{
    "jsonrpc": "2.0",
    "method": "task.create",
    "params": [
        {
            "type": 6,
            "request": {
                "itemid": "10092"
            }
        },
        {
            "type": "6",
            "request": {
                "itemid": "10093"
            }
        }
    ],
    "auth": "700ca65537074ec963db7efabda78259",
    "id": 1
}

响应:

{
    "jsonrpc": "2.0",
    "result": {
        "taskids": [
            "1",
            "2"
        ]
    },
    "id": 1
}

创建diagnostic information任务。

请求:

{
    "jsonrpc": "2.0",
    "method": "task.create",
    "params": [
        {
            "type": 1,
            "request": {
                "alerting": {
                    "stats": [
                        "alerts"
                    ],
                    "top": {
                        "media.alerts": 10
                    }
                },
                "lld": {
                    "stats": "extend",
                    "top": {
                        "values": 5
                    }
                }
            },
            "proxy_hostid": 0
        }
    ],
    "auth": "700ca65537074ec963db7efabda78259",
    "id": 2
}

响应:

{
    "jsonrpc": "2.0",
    "result": {
        "taskids": [
            "3"
        ]
    },
    "id": 2
}

另请参阅

来源

CTask::create() 位于 ui/include/classes/api/services/CTask.php 文件中。