itemprototype.get

Descrição

integer/array itemprototype.get(object parameters)

O método permite recuperar protótipos de item de acordo com os parâmetros informados.

Este método está disponível para usuários de qualquer tipo. As permissões para chamar o método podem ser revogadas nas configurações de função de usuário. Consulte Funções de usuário para obter mais informações.

Parâmetros

(object) Parâmetros que definem a saída desejada.

O método aceita os seguintes parâmetros.

Parâmetro Tipo Descrição
discoveryids ID/array Retorna somente os protótipos de item que pertencem às regras de LLD fornecidas.
graphids ID/array Retorna somente os protótipos de item usados nos protótipos de gráfico fornecidos.
hostids ID/array Retorna somente os protótipos de item que pertencem aos hosts fornecidos.
inherited boolean Se definido como true, retorna somente os protótipos de item herdados de um template.
itemids ID/array Retorna somente os protótipos de item com os IDs fornecidos.
monitored boolean Se definido como true, retorna somente os protótipos de item habilitados que pertencem a hosts monitorados.
templated boolean Se definido como true, retorna somente os protótipos de item que pertencem a templates.
templateids ID/array Retorna somente os protótipos de item que pertencem aos templates fornecidos.
triggerids ID/array Retorna somente os protótipos de item usados nos protótipos de trigger fornecidos.
selectDiscoveryData query Retorna uma propriedade discoveryData com os dados do objeto de descoberta do protótipo de item. O objeto de descoberta do protótipo de item vincula um protótipo de item descoberto ao protótipo de item a partir do qual ele foi descoberto.

Ele tem as seguintes propriedades:
parent_itemid - (string) ID do protótipo de item a partir do qual o protótipo de item foi criado;
key_ - (string) chave do protótipo de item;
status - (int) status de descoberta do protótipo de item:
0 - (padrão) o protótipo de item foi descoberto,
1 - o protótipo de item não é mais descoberto;
ts_delete - (timestamp) momento em que um protótipo de item que não é mais descoberto será excluído;
ts_disable - (timestamp) momento em que um protótipo de item que não é mais descoberto será desabilitado;
disable_source - (int) indicador de se o protótipo de item foi desabilitado por uma regra de LLD ou manualmente:
0 - (padrão) desabilitado automaticamente,
1 - desabilitado por uma regra de LLD.
selectDiscoveryRule query Retorna uma propriedade discoveryRule com a regra de descoberta de baixo nível à qual o protótipo de item pertence.
selectDiscoveryRulePrototype query Retorna uma propriedade discoveryRulePrototype com o protótipo da regra de LLD pai à qual o protótipo de item pertence.
selectGraphs query Retorna uma propriedade graphs com os protótipos de gráfico nos quais o protótipo de item é usado.

Suporta count.
selectHosts query Retorna uma propriedade hosts com um array de hosts aos quais o protótipo de item pertence.
selectInheritedTags query Retorna uma propriedade inheritedTags com as tags presentes no template/host/templates vinculados.
selectTags query Retorna as tags do protótipo de item na propriedade tags.
selectTriggers query Retorna uma propriedade triggers com os protótipos de trigger nos quais o protótipo de item é usado.

Suporta count.
selectPreprocessing query Retorna uma propriedade preprocessing com as opções de pré-processamento do protótipo de item.
selectValueMap query Retorna uma propriedade valuemap com o mapa de valores do protótipo de item.
filter object Retorna somente os resultados que correspondem exatamente ao filtro fornecido.

Aceita um objeto cujas chaves são nomes de propriedades e cujos valores são um único valor ou um array de valores a serem comparados.

Não oferece suporte a propriedades do tipo de dados text.

Oferece suporte a propriedades adicionais:
host - nome técnico do host ao qual o protótipo de item pertence.
limitSelects integer Limita o número de registros retornados pelas subseleções.

Aplica-se às seguintes subseleções:
selectGraphs - os resultados serão ordenados por name;
selectTriggers - os resultados serão ordenados por description.
sortfield string/array Ordena o resultado pelas propriedades fornecidas.

Valores possíveis: itemid, name, key_, delay, type, status, history, trends, discovered.
countOutput boolean Esses parâmetros são descritos no comentário de referência.
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Valores de retorno

(integer/array) Retorna:

  • um array de objetos;
  • a contagem de objetos recuperados, se o parâmetro countOutput foi utilizado.

Exemplos

Recuperando protótipos de item de uma regra LLD

Recupere todos os protótipos de item para um ID de regra LLD específico.

Requisição:

{
    "jsonrpc": "2.0",
    "method": "itemprototype.get",
    "params": {
        "output": "extend",
        "discoveryids": "27426"
    },
    "id": 1
}

Resposta:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "itemid": "23077",
            "type": "0",
            "snmp_oid": "",
            "hostid": "10079",
            "name": "Incoming network traffic on en0",
            "key_": "net.if.in[en0]",
            "delay": "1m",
            "history": "1w",
            "trends": "365d",
            "status": "0",
            "value_type": "3",
            "trapper_hosts": "",
            "units": "bps",
            "formula": "",
            "logtimefmt": "",
            "templateid": "0",
            "valuemapid": "0",
            "params": "",
            "ipmi_sensor": "",
            "authtype": "0",
            "username": "",
            "password": "",
            "publickey": "",
            "privatekey": "",
            "flags": "2",
            "interfaceid": "0",
            "description": "",
            "inventory_link": "0",
            "lifetime": "7d",
            "evaltype": "0",
            "jmx_endpoint": "",
            "master_itemid": "0",
            "timeout": "",
            "url": "",
            "query_fields": [],
            "posts": "",
            "status_codes": "200",
            "follow_redirects": "1",
            "post_type": "0",
            "http_proxy": "",
            "headers": [],
            "retrieve_mode": "0",
            "request_method": "0",
            "output_format": "0",
            "ssl_cert_file": "",
            "ssl_key_file": "",
            "ssl_key_password": "",
            "verify_peer": "0",
            "verify_host": "0",
            "allow_traps": "0",
            "discover": "0",
            "uuid": "",
            "lifetime_type": "0",
            "enabled_lifetime_type": "2",
            "enabled_lifetime": "0",
            "parameters": []
        },
        {
            "itemid": "10010",
            "type": "0",
            "snmp_oid": "",
            "hostid": "10001",
            "name": "Processor load (1 min average per core)",
            "key_": "system.cpu.load[percpu,avg1]",
            "delay": "1m",
            "history": "1w",
            "trends": "365d",
            "status": "0",
            "value_type": "0",
            "trapper_hosts": "",
            "units": "",
            "formula": "",
            "logtimefmt": "",
            "templateid": "0",
            "valuemapid": "0",
            "params": "",
            "ipmi_sensor": "",
            "authtype": "0",
            "username": "",
            "password": "",
            "publickey": "",
            "privatekey": "",
            "flags": "2",
            "interfaceid": "0",
            "description": "The processor load is calculated as system CPU load divided by number of CPU cores.",
            "inventory_link": "0",
            "lifetime": "7d",
            "evaltype": "0",
            "jmx_endpoint": "",
            "master_itemid": "0",
            "timeout": "",
            "url": "",
            "query_fields": [],
            "posts": "",
            "status_codes": "200",
            "follow_redirects": "1",
            "post_type": "0",
            "http_proxy": "",
            "headers": [],
            "retrieve_mode": "0",
            "request_method": "0",
            "output_format": "0",
            "ssl_cert_file": "",
            "ssl_key_file": "",
            "ssl_key_password": "",
            "verify_peer": "0",
            "verify_host": "0",
            "allow_traps": "0",
            "discover": "0",
            "uuid": "",
            "lifetime_type": "0",
            "enabled_lifetime_type": "2",
            "enabled_lifetime": "0",
            "parameters": []
        }
    ],
    "id": 1
}

Encontrando um item dependente

Encontre um item dependente para um ID de item específico.

Requisição:

{
    "jsonrpc": "2.0",
    "method": "itemprototype.get",
    "params": {
        "output": "extend",
        "filter": {
            "type": 18,
            "master_itemid": "25545"
        },
        "limit": "1"
    },
    "id": 1
}

Resposta:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "itemid": "25547",
            "type": "18",
            "snmp_oid": "",
            "hostid": "10116",
            "name": "Seconds",
            "key_": "apache.status.uptime.seconds",
            "delay": "0",
            "history": "90d",
            "trends": "365d",
            "status": "0",
            "value_type": "3",
            "trapper_hosts": "",
            "units": "",
            "formula": "",
            "logtimefmt": "",
            "templateid": "0",
            "valuemapid": "0",
            "params": "",
            "ipmi_sensor": "",
            "authtype": "0",
            "username": "",
            "password": "",
            "publickey": "",
            "privatekey": "",
            "flags": "0",
            "interfaceid": "0",
            "description": "",
            "inventory_link": "0",
            "lifetime": "7d",
            "evaltype": "0",
            "jmx_endpoint": "",
            "master_itemid": "25545",
            "timeout": "",
            "url": "",
            "query_fields": [],
            "posts": "",
            "status_codes": "200",
            "follow_redirects": "1",
            "post_type": "0",
            "http_proxy": "",
            "headers": [],
            "retrieve_mode": "0",
            "request_method": "0",
            "output_format": "0",
            "ssl_cert_file": "",
            "ssl_key_file": "",
            "ssl_key_password": "",
            "verify_peer": "0",
            "verify_host": "0",
            "allow_traps": "0",
            "discover": "0",
            "uuid": "",
            "lifetime_type": "0",
            "enabled_lifetime_type": "2",
            "enabled_lifetime": "0",
            "parameters": []
        }
    ],
    "id": 1
}

Encontrar protótipo de item HTTP agent

Encontre o protótipo de item HTTP agent com o método de requisição HEAD para um ID de host específico.

Requisição:

{
    "jsonrpc": "2.0",
    "method": "itemprototype.get",
    "params": {
        "hostids": "10254",
        "filter": {
            "type": 19,
            "request_method": 3
        }
    },
    "id": 1
}

Resposta:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "itemid": "28257",
            "type": "19",
            "snmp_oid": "",
            "hostid": "10254",
            "name": "discovered",
            "key_": "item[{#INAME}]",
            "delay": "{#IUPDATE}",
            "history": "90d",
            "trends": "30d",
            "status": "0",
            "value_type": "3",
            "trapper_hosts": "",
            "units": "",
            "formula": "",
            "logtimefmt": "",
            "templateid": "28255",
            "valuemapid": "0",
            "params": "",
            "ipmi_sensor": "",
            "authtype": "0",
            "username": "",
            "password": "",
            "publickey": "",
            "privatekey": "",
            "flags": "2",
            "interfaceid": "2",
            "description": "",
            "inventory_link": "0",
            "lifetime": "7d",
            "evaltype": "0",
            "jmx_endpoint": "",
            "master_itemid": "0",
            "timeout": "",
            "url": "{#IURL}",
            "query_fields": [],
            "posts": "",
            "status_codes": "",
            "follow_redirects": "0",
            "post_type": "0",
            "http_proxy": "",
            "headers": [],
            "retrieve_mode": "0",
            "request_method": "3",
            "output_format": "0",
            "ssl_cert_file": "",
            "ssl_key_file": "",
            "ssl_key_password": "",
            "verify_peer": "0",
            "verify_host": "0",
            "allow_traps": "0",
            "discover": "0",
            "uuid": "",
            "lifetime_type": "0",
            "enabled_lifetime_type": "2",
            "enabled_lifetime": "0",
            "parameters": []
        }
    ],
    "id": 1
}

Veja também

Fonte

CItemPrototype::get() em ui/include/classes/api/services/CItemPrototype.php.