Esta é uma tradução da página de documentação original em inglês. Ajude-nos a torná-la melhor.

Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

itemprototype.create

Descrição

object itemprototype.create(object/array itemPrototypes)

Este método permite criar novos protótipos de itens.

Este método está disponível apenas para Admin e Superadministrador tipos de usuário. As permissões para chamar o método podem ser revogadas na função de usuário definições. Veja Usuário funções Para maiores informações.

Parâmetros

(object/array) Protótipo de item a ser criado.

Além do protótipo de item padrão properties, o método aceita o seguinte parâmetros.

|Parâmetro|Tipo|Descrição| |---------|----------------------------------- ------------|-----------| |ruleid
(obrigatório)|string|ID da regra LLD à qual o item pertence.| |preprocessing|array|Protótipo de item pré-processamento opções.| |tags|array|Protótipo de item tags.|

Valores de retorno

(object) Retorna um objeto contendo os IDs do item criado protótipos sob a propriedade itemids. A ordem dos IDs retornados corresponde à ordem dos protótipos de itens passados.

Exemplos

Criando um protótipo de item

Crie um protótipo de item para monitorar o espaço livre em disco em um arquivo descoberto sistema. Os itens descobertos devem ser itens numéricos do agente Zabbix atualizados a cada 30 segundos.

Solicitação:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.create",
           "parâmetros": {
               "name": "Espaço livre em disco em {#FSNAME}",
               "key_": "vfs.fs.size[{#FSNAME},grátis]",
               "hostid": "10197",
               "ruleid": "27665",
               "tipo": 0,
               "value_type": 3,
               "interfaceid": "112",
               "atraso": "30s"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "resultado": {
               "items": [
                   "27666"
               ]
           },
           "id": 1
       }

Criando um protótipo de item com pré-processamento

Crie um item usando a mudança por segundo e um multiplicador personalizado como segundo passo.

Solicitação:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.create",
           "parâmetros": {
               "name": "Tráfego de rede de entrada em {#IFNAME}",
               "key_": "net.if.in[{#IFNAME}]",
               "hostid": "10001",
               "ruleid": "27665",
               "tipo": 0,
               "value_type": 3,
               "atraso": "60s",
               "unidades": "bps",
               "interfaceid": "1155",
               "pré-processando": [
                   {
                       "tipo": "10",
                       "parâmetros": "",
                       "error_handler": "0",
                       "error_handler_params": ""
                   },
                   {
                       "tipo 1",
                       "parâmetros": "8",
                       "error_handler": "2",
                       "error_handler_params": "10"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "resultado": {
               "items": [
                   "44211"
               ]
           },
           "id": 1
       }

Criando protótipo de item dependente

Crie um protótipo de item dependente para o protótipo de item mestre com ID 44211. Apenas dependências no mesmo host (regra de modelo/descoberta) são permitidas, portanto, o item mestre e dependente deve ter o mesmo hostid e ruleid.

Solicitação:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.create",
           "parâmetros": {
             "hostid": "10001",
             "ruleid": "27665",
             "name": "Protótipo de item de teste dependente",
             "key_": "dependent.prototype",
             "tipo": "18",
             "master_itemid": "44211",
             "value_type": "3"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "resultado": {
               "items": [
                   "44212"
               ]
           },
           "id": 1
       }

Criar protótipo de item do agente HTTP

Crie protótipo de item com URL usando macro de usuário, campos de consulta e cabeçalhos.

Solicitação:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.create",
           "parâmetros": {
               "tipo": "19",
               "hostid": "10254",
               "ruleid":"28256",
               "interfaceid":"2",
               "name": "exemplo de protótipo de item de API",
               "key_": "api_http_item",
               "value_type": "3",
               "url": "{$URL_PROTOTYPE}",
               "campos_consulta": [
                   {
                       "min": "10"
                   },
                   {
                       "máximo": "100"
                   }
               ],
               "cabeçalhos": {
                   "X-Source": "api"
               },
               "atraso":"35"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "resultado": {
               "items": [
                   "28305"
               ]
           },
           "id": 1
       }

Criar protótipo de item de script

Crie uma coleta de dados simples usando um protótipo de item de script.

Solicitação:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.create",
           "parâmetros": {
               "name": "Exemplo de script",
               "key_": "custom.script.itemprototype",
               "hostid": "12345",
               "tipo": 21,
               "value_type": 4,
               "params": "var request = new CurlHttpRequest();\nreturn request.Post(\"https://postman-echo.com/post\", JSON.parse(value));",
               "parâmetros": [{
                   "nome": "host",
                   "valor": "{HOST.CONN}"
               }],
               "tempo limite": "6s",
               "atraso": "30s"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 2
       }

Resposta:

{
           "jsonrpc": "2.0",
           "resultado": {
               "items": [
                   "23865"
               ]
           },
           "id": 3
       }

Fonte

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