task.create

描述

object task.create(object/array tasks)

此方法允许create创建一个新任务(例如收集诊断数据或检查监控项或低级别自动发现规则,而无需重新加载配置)。

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

参数

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

该方法接受带有任务对象的任务。

请注意,只有以下类型的监控项/发现规则才能创建“立即执行”任务:

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

如果 监控项 或发现规则的类型为 "Dependent 监控项",则 Top 级主 监控项 的类型必须为:

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

返回值

(object) 返回一个 object,其中包含在 taskids 属性下列出的已创建任务的ID。
为每个 监控项 和低级别自动发现规则创建一个任务。
返回的ID顺序与传入的 itemids 顺序一致。

示例

创建任务

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

执行请求:

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

响应:

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

为两个 proxies 创建任务 Refresh proxy configuration

执行请求:

{
           "jsonrpc": "2.0",
           "method": "task.create",
           "params": [
               {
                   "type": 2,
                   "request": {
                       "proxyids": ["10459", "10460"]
                   }
               }
           ],
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": {
               "taskids": [
                   "1"
               ]
           },
           "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
                           }
                       }
                   },
                   "proxyid": 0
               }
           ],
           "id": 1
       }

响应:

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

另请参阅

来源

ui/include/classes/api/services/CTask.php 中的 CTask::create()。