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.