Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

item.create

Descrição

object item.create(object/array items)

Este método permite criar novos itens.

Itens da Web não podem ser criados através da API do Zabbix.

Este método está disponível apenas para os tipos de usuário Admin e Super admin. As permissões para chamar o método podem ser revogadas nas configurações de função do usuário. Consulte User roles para obter mais informações.

Parâmetros

(object/array) Itens para criar.

Além das propriedades padrão do item, o método aceita os seguintes parâmetros.

Parâmetro Tipo Descrição
preprocessing array Opções preprocessing de itens.
tags array Item tags.

Valores de retorno

(object) Retorna um objeto contendo os IDs dos itens criados na propriedade itemids. A ordem dos IDs retornados corresponde à ordem dos itens passados.

Exemplos

Criando um item

Crie um item de agente Zabbix numérico com 2 tags de item para monitorar o espaço livre em disco no host com o ID "30074".

Request:

{
           "jsonrpc": "2.0",
           "method": "item.create",
           "params": {
               "name": "Free disk space on /home/joe/",
               "key_": "vfs.fs.size[/home/joe/,free]",
               "hostid": "30074",
               "type": 0,
               "value_type": 3,
               "interfaceid": "30084",
               "tags": [
                   {
                       "tag": "Disc usage"
                   },
                   {
                       "tag": "Equipment",
                       "value": "Workstation"
                   }
               ],
               "delay": "30s"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "24758"
               ]
           },
           "id": 1
       }

Criando um item de inventário do host

Crie um item de agente Zabbix para preencher o campo de inventário "SO" do host.

Request:

{
           "jsonrpc": "2.0",
           "method": "item.create",
           "params": {
               "name": "uname",
               "key_": "system.uname",
               "hostid": "30021",
               "type": 0,
               "interfaceid": "30007",
               "value_type": 1,
               "delay": "10s",
               "inventory_link": 5
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "24759"
               ]
           },
           "id": 1
       }

Criando um item com pré-processamento

Criar um item usando o multiplicador personalizado.

Request:

{
           "jsonrpc": "2.0",
           "method": "item.create",
           "params": {
               "name": "Device uptime",
               "key_": "sysUpTime",
               "hostid": "11312",
               "type": 4,
               "snmp_oid": "SNMPv2-MIB::sysUpTime.0",
               "value_type": 1,
               "delay": "60s",
               "units": "uptime",
               "interfaceid": "1156",
               "preprocessing": [
                   {
                       "type": 1,
                       "params": "0.01",
                       "error_handler": 1,
                       "error_handler_params": ""
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "44210"
               ]
           },
           "id": 1
       }

Criando item dependente

Crie um item dependente para o item mestre com ID 24759. Somente dependências no mesmo host são permitidas, portanto, o mestre e o item dependente devem ter o mesmo hostid

Request:

{
           "jsonrpc": "2.0",
           "method": "item.create",
           "params": {
             "hostid": "30074",
             "name": "Dependent test item",
             "key_": "dependent.item",
             "type": 18,
             "master_itemid": "24759",
             "value_type": 2
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "44211"
               ]
           },
           "id": 1
       }

Criar item de agente HTTP

Criar item de método de solicitação POST com pré-processamento de resposta JSON.

Request:

{
           "jsonrpc": "2.0",
           "method": "item.create",
           "params": {
               "url": "http://127.0.0.1/http.php",
               "query_fields": [
                   {
                       "mode": "json"
                   },
                   {
                       "min": "10"
                   },
                   {
                       "max": "100"
                   }
               ],
               "interfaceid": "1",
               "type": 19,
               "hostid": "10254",
               "delay": "5s",
               "key_": "json",
               "name": "HTTP agent example JSON",
               "value_type": 0,
               "output_format": 1,
               "preprocessing": [
                   {
                       "type": 12,
                       "params": "$.random",
                       "error_handler": 0,
                       "error_handler_params": ""
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 2
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "23865"
               ]
           },
           "id": 3
       }

Criar item de script

Crie uma coleta de dados simples usando um item de script.

Request:

{
           "jsonrpc": "2.0",
           "method": "item.create",
           "params": {
               "name": "Script example",
               "key_": "custom.script.item",
               "hostid": "12345",
               "type": 21,
               "value_type": 4,
               "params": "var request = new CurlHttpRequest();\nreturn request.Post(\"https://postman-echo.com/post\", JSON.parse(value));",
               "parameters": [
                   {
                       "name": "host",
                       "value": "{HOST.CONN}"
                   }
               ],
               "timeout": "6s",
               "delay": "30s"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 2
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "23865"
               ]
           },
           "id": 3
       }

Fonte

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