task.create

描述

object task.create(object/array tasks)

此方法允许创建新任务(例如,在不重新加载配置的情况下收集诊断数据或检查监控项或低级别自动发现规则)。

此方法只有Super admin(超级管理员)用户可用。可以在用户角色设置中撤销调用该方法的权限。更多信息请查看用户角色

参数

(object/array) 要创建的任务。

该方法接受以下参数。

参数 类型 描述
type
(必须)
integer 任务类型.

可能的值:
1 - 诊断信息;
6 - 立即检查.
request
(必须)
object 任务请求对象取决于任务类型。 任务对象 中描述了请求对象的正确格式。
proxy_hostid integer 关于哪个诊断信息任务将收集数据的代理。

忽略“立即检查”任务。

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

  • Zabbix agent
  • SNMPv1/v2/v3 agent
  • Simple check
  • Internal check
  • External check
  • Database monitor
  • HTTP agent
  • IPMI agent
  • SSH agent
  • TELNET agent
  • Calculated check
  • JMX agent

返回值

(object) 返回一个对象,该对象包含taskids 属性下创建的任务的ID。为每个监控项和低级别自动发现规则创建一个任务。返回的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() in ui/include/classes/api/services/CTask.php.