task.create
Description
object task.create(object **task**)
This method allows to create a new task (such as collect diagnostic data or check items or low-level discovery rules without config reload).
Starting from Zabbix version 5.0.5, task.create
accepts array of task objects object/array **tasks**
, allowing to create multiple tasks in single request.
Parameters
(object)
A task to create.
The method accepts the following parameters. Please use this format for Zabbix versions before 5.0.5 only.
Parameter | Type | Description |
---|---|---|
type (required) | integer | Task type. Possible values: 6 - Check now. |
itemids (required) | string/array | IDs of items and low-level discovery rules. |
Please be aware that starting from Zabbix version 5.0.5, request format has changed:
Parameter | Type | Description |
---|---|---|
type (required) | integer | Task type. Possible values: 1 - Diagnostic information; 6 - Check now. |
request (required) | object | Task request object according to the task type. Correct format of request object is described in Task object section. |
proxy_hostid | integer | Proxy about which Diagnostic information task will collect data. Ignored for Check now tasks. |
Note that ‘Check now’ tasks can be created for the following types of items/discovery rules:
Zabbix agent
SNMPv1/v2/v3 agent
Simple check
Internal check
Aggregate check
External check
Database monitor
HTTP agent
IPMI agent
SSH agent
TELNET agent
Calculated check
JMX agent
Return values
(object)
Returns an object containing the IDs of the created tasks under the taskids
property. One task is created for each item and low-level discovery rule. The order of the returned IDs matches the order of the passed itemids
or task objects passed as array.
Examples
Creating a task
Create a task check now
for two items. One is an item, the other is a low-level discovery rule.
Request for Zabbix versions before 5.0.5:
{
"jsonrpc": "2.0",
"method": "task.create",
"params": {
"type": "6",
"itemids": [
"10092",
"10093"
],
},
"auth": "700ca65537074ec963db7efabda78259",
"id": 1
}
Same request for Zabbix versions starting from 5.0.5:
{
"jsonrpc": "2.0",
"method": "task.create",
"params": [
{
"type": "6",
"request": {
"itemid": "10092"
}
},
{
"type": "6",
"request": {
"itemid": "10093"
}
}
],
"auth": "700ca65537074ec963db7efabda78259",
"id": 1
}
Response is similar for both example requests:
{
"jsonrpc": "2.0",
"result": {
"taskids": [
"1",
"2"
]
},
"id": 1
}
Create a task diagnostic information
task. Request:
{
"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
}
Response:
{
"jsonrpc": "2.0",
"result": {
"taskids": [
"3"
]
},
"id": 2
}
See also
Source
CTask::create() in ui/include/classes/api/services/CTask.php.