integer/array discoveryrule.get(object parameters)
O método permite recuperar regras LLD de acordo com os parâmetros fornecidos.
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 do usuário. Veja Funções de usuário para mais informações.
(object) Parâmetros que definem a saída desejada.
O método suporta os seguintes parâmetros.
| Parâmetro | Tipo | Descrição |
|---|---|---|
| itemids | ID/array | Retorna apenas regras LLD com os IDs fornecidos. |
| groupids | ID/array | Retorna apenas regras LLD que pertencem aos hosts dos grupos fornecidos. |
| hostids | ID/array | Retorna apenas regras LLD que pertencem aos hosts fornecidos. |
| inherited | boolean | Se definido como true, retorna apenas regras LLD herdadas de um template. |
| interfaceids | ID/array | Retorna apenas regras LLD que usam as interfaces de host fornecidas. |
| monitored | boolean | Se definido como true, retorna apenas regras LLD habilitadas que pertencem a hosts monitorados. |
| templated | boolean | Se definido como true, retorna apenas regras LLD que pertencem a templates. |
| templateids | ID/array | Retorna apenas regras LLD que pertencem aos templates fornecidos. |
| selectFilter | query | Retorna uma propriedade filter com os dados do filtro usado pela regra LLD. |
| selectGraphs | query | Retorna uma propriedade graphs com protótipos de gráficos que pertencem à regra LLD.Suporta count. |
| selectHostPrototypes | query | Retorna uma propriedade hostPrototypes com protótipos de host que pertencem à regra LLD.Suporta count. |
| selectHosts | query | Retorna uma propriedade hosts com um array de hosts ao qual a regra LLD pertence. |
| selectItems | query | Retorna uma propriedade items com protótipos de item que pertencem à regra LLD.Suporta count. |
| selectTriggers | query | Retorna uma propriedade triggers com protótipos de trigger que pertencem à regra LLD.Suporta count. |
| selectLLDMacroPaths | query | Retorna uma propriedade lld_macro_paths com uma lista de macros LLD e caminhos para valores atribuídos a cada macro correspondente. |
| selectPreprocessing | query | Retorna uma propriedade preprocessing com opções de pré-processamento da regra LLD. |
| selectOverrides | query | Retorna uma propriedade lld_rule_overrides com uma lista de filtros de substituição, condições e operações que são realizadas em objetos protótipos. |
| filter | object | Retorna apenas os resultados que correspondem exatamente ao filtro fornecido. Aceita um objeto, onde as chaves são nomes de propriedades e os valores são um único valor ou um array de valores para comparar. Não suporta propriedades do tipo de dados text data type.Suporta propriedades adicionais: host - nome técnico do host ao qual a regra LLD pertence. |
| limitSelects | integer | Limita o número de registros retornados por subseleções. Aplica-se às seguintes subseleções: selectItems, selectGraphs, selectTriggers. |
| sortfield | string/array | Ordena o resultado pelas propriedades fornecidas. Valores possíveis: itemid, name, key_, delay, type, status. |
| countOutput | boolean | Estes 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 |
(integer/array) Retorna:
countOutput tiverRecupere todas as regras de descoberta para um ID de host específico.
{ "jsonrpc": "2.0", "method": "discoveryrule.get", "params": { "output": "extend", "hostids": "10202" }, "id": 1 }Resposta:
{ "jsonrpc": "2.0", "result": [ { "itemid": "27425", "type": "0", "snmp_oid": "", "hostid": "10202", "name": "Network interface discovery", "key_": "net.if.discovery", "delay": "1h", "status": "0", "trapper_hosts": "", "templateid": "22444", "valuemapid": "0", "params": "", "ipmi_sensor": "", "authtype": "0", "username": "", "password": "", "publickey": "", "privatekey": "", "interfaceid": "119", "description": "Discovery of network interfaces as defined in global regular expression \"Network interfaces for discovery\".", "lifetime": "30d", "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", "ssl_cert_file": "", "ssl_key_file": "", "ssl_key_password": "", "verify_peer": "0", "verify_host": "0", "allow_traps": "0", "uuid": "", "lifetime_type": "0", "enabled_lifetime_type": "2", "enabled_lifetime": "0", "state": "0", "error": "", "parameters": [] }, { "itemid": "27426", "type": "0", "snmp_oid": "", "hostid": "10202", "name": "Mounted filesystem discovery", "key_": "vfs.fs.discovery", "delay": "1h", "status": "0", "trapper_hosts": "", "templateid": "22450", "valuemapid": "0", "params": "", "ipmi_sensor": "", "authtype": "0", "username": "", "password": "", "publickey": "", "privatekey": "", "interfaceid": "119", "description": "Discovery of file systems of different types as defined in global regular expression \"File systems for discovery\".", "lifetime": "30d", "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", "ssl_cert_file": "", "ssl_key_file": "", "ssl_key_password": "", "verify_peer": "0", "verify_host": "0", "allow_traps": "0", "uuid": "", "lifetime_type": "0", "enabled_lifetime_type": "2", "enabled_lifetime": "0", "state": "0", "error": "", "parameters": [] } ], "id": 1 }Recupere o nome da regra LLD "24681" e suas condições de filtro. O filtro usa o tipo de avaliação "and", portanto, a propriedade formula está vazia e eval_formula é gerada automaticamente.
{ "jsonrpc": "2.0", "method": "discoveryrule.get", "params": { "output": ["name"], "selectFilter": "extend", "itemids": ["24681"] }, "id": 1 }Resposta:
{ "jsonrpc": "2.0", "result": [ { "itemid": "24681", "name": "Filtered LLD rule", "filter": { "evaltype": "1", "formula": "", "conditions": [ { "macro": "{#MACRO1}", "value": "@regex1", "operator": "8", "formulaid": "A" }, { "macro": "{#MACRO2}", "value": "@regex2", "operator": "9", "formulaid": "B" }, { "macro": "{#MACRO3}", "value": "", "operator": "12", "formulaid": "C" }, { "macro": "{#MACRO4}", "value": "", "operator": "13", "formulaid": "D" } ], "eval_formula": "A and B and C and D" } } ], "id": 1 }Recupera a regra de LLD para o host pelo valor do campo URL da regra. Apenas a correspondência exata da string de URL definida para a regra de LLD é suportada.
{ "jsonrpc": "2.0", "method": "discoveryrule.get", "params": { "hostids": "10257", "filter": { "type": 19, "url": "http://127.0.0.1/discoverer.php" } }, "id": 1 }Resposta:
{ "jsonrpc": "2.0", "result": [ { "itemid": "28336", "type": "19", "snmp_oid": "", "hostid": "10257", "name": "API HTTP agent", "key_": "api_discovery_rule", "delay": "5s", "status": "0", "trapper_hosts": "", "templateid": "0", "valuemapid": "0", "params": "", "ipmi_sensor": "", "authtype": "0", "username": "", "password": "", "publickey": "", "privatekey": "", "interfaceid": "5", "description": "", "lifetime": "30d", "jmx_endpoint": "", "master_itemid": "0", "timeout": "", "url": "http://127.0.0.1/discoverer.php", "query_fields": [ { "name": "mode", "value": "json" }, { "name": "elements", "value": "2" } ], "posts": "", "status_codes": "200", "follow_redirects": "1", "post_type": "0", "http_proxy": "", "headers": [ { "name" : "X-Type", "value": "api" }, { "name": "Authorization", "value": "Bearer mF_A.B5f-2.1JcM" } ], "retrieve_mode": "0", "request_method": "1", "ssl_cert_file": "", "ssl_key_file": "", "ssl_key_password": "", "verify_peer": "0", "verify_host": "0", "allow_traps": "0", "uuid": "", "lifetime_type": "0", "enabled_lifetime_type": "2", "enabled_lifetime": "0", "state": "0", "error": "", "parameters": [] } ], "id": 1 }Recupera uma regra de LLD que possui várias configurações de substituição.
{ "jsonrpc": "2.0", "method": "discoveryrule.get", "params": { "output": ["name"], "itemids": "30980", "selectOverrides": ["name", "step", "stop", "filter", "operations"] }, "id": 1 }Resposta:
{ "jsonrpc": "2.0", "result": [ { "name": "Discover database host", "overrides": [ { "name": "Discover MySQL host", "step": "1", "stop": "1", "filter": { "evaltype": "2", "formula": "", "conditions": [ { "macro": "{#UNIT.NAME}", "operator": "8", "value": "^mysqld\\.service$", "formulaid": "A" }, { "macro": "{#UNIT.NAME}", "operator": "8", "value": "^mariadb\\.service$", "formulaid": "B" } ], "eval_formula": "A or B" }, "operations": [ { "operationobject": "3", "operator": "2", "value": "Database host", "opstatus": { "status": "0" }, "optag": [ { "tag": "database", "value": "mysql" } ], "optemplate": [ { "templateid": "10170" } ] } ] }, { "name": "Discover PostgreSQL host", "step": "2", "stop": "1", "filter": { "evaltype": "0", "formula": "", "conditions": [ { "macro": "{#UNIT.NAME}", "operator": "8", "value": "^postgresql\\.service$", "formulaid": "A" } ], "eval_formula": "A" }, "operations": [ { "operationobject": "3", "operator": "2", "value": "Database host", "opstatus": { "status": "0" }, "optag": [ { "tag": "database", "value": "postgresql" } ], "optemplate": [ { "templateid": "10263" } ] } ] } ] } ], "id": 1 }CDiscoveryRule::get() in ui/include/classes/api/services/CDiscoveryRule.php.