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

discoveryrule.get

Descrição

integer/array discoveryrule.get(object parameters)

O método permite recuperar as regras LLD de acordo com os parâmetros recebidos.

Este método está disponível para usuários de qualquer tipo. Permissões para invocar o método podem ser revogadas nas configurações de função do usuário. Veja Usuário funções para mais informações.

Parâmetros

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

O método suporta os seguintes parâmetros.

Parâmetro Tipo Descrição
itemids string/array Retorne apenas regras LLD com os IDs fornecidos.
groupids string/array Retornar apenas as regras LLD que pertencem aos hosts dos grupos fornecidos.
hostids string/array Retornar apenas as regras LLD que pertencem aos hosts fornecidos.
inherited boolean Se definido como true, retorna apenas as regras LLD herdadas de um template.
interfaceids string/array Retornar apenas as regras LLD usam as interfaces de host fornecidas.
monitored boolean Se definido como true, retorna apenas as regras LLD habilitadas que pertencem aos hosts monitorados.
templated boolean Se definido como true retornar apenas regras LLD que pertencem a templates.
templateids string/array Retorne apenas as regras LLD que pertencem aos templates fornecidos.
selectFilter query Retorna uma propriedade filter com dados do filtro usado pela regra LLD.
selectGraphs query Retorna uma propriedade graphs com protótipos de gráfico 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 uma array de hosts aos quais a regra LLD pertence.
selectItems query Retorne uma propriedade items com protótipos de itens que pertencem à regra LLD.

Suporta count.
selectTriggers query Retorne uma propriedade triggers com protótipos de gatilho que pertencem à regra LLD.

Suporta count.
selectLLDMacroPaths query Retorne uma propriedade lld_macro_paths com uma lista de macros LLD e caminhos para valores atribuídos a cada macro correspondente
selectPreprocessing query Retorne uma propriedade preprocessing propriedade com opções de pré-processamento de regra LLD.

Possui as seguintes propriedades:
type - (string) O tipo de opção de pré-processamento:
5 - Correspondência de expressão regular;
11 - XML XPath;
12 - JSONPath;
15 - Não corresponde à expressão regular;
16 - Verificar se há erro em JSON;
17 - Verificar se há erro em XML;
20 - Descarte inalterado com heartbeat;
23 - Prometheus para JSON;
24 - CSV para JSON;
25 - Substituir;
27 - XML para JSON.

params - (string) Parâmetros adicionais usados ​​pela opção de pré-processamento. Vários parâmetros são separados pelo caractere LF (\n).
error_handler - (string) Tipo de ação usado em caso de falha na etapa de pré-processamento:
0 - A mensagem de erro é definida por Zabbix server;
1 - A mensagem de erro é definida por;
2 - Definir valor personalizado;
3 - Definir mensagem de erro personalizada.

error_handler_params - (string) Parâmetros do manipulador de erros.
selectOverrides query Retorna uma propriedade lld_rule_overrides com uma lista de filtros de substituição, condições e operações que são executadas em objetos protótipo.
filter object Retorne apenas os resultados que correspondem exatamente ao filtro fornecido.

Aceita uma array, em que as chaves são nomes de propriedades e os valores são um único valor ou uma matriz de valores para corresponder.

Suporta filtros 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:
selctItems;
selectGraphs;
selectTriggers.
sortfield string/array Classifique o resultado pelas propriedades fornecidas.

Os valores possíveis são: itemid, name, key_, delay, type e status.
countOutput boolean Esses parâmetros sendo comuns para todos os métodos get são descritos em detalhes no reference commentary.
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:

  • uma série de objetos;
  • a contagem de objetos recuperados, se o parâmetro countOutput tiver
    sido usado.

Exemplos

Recuperando regras de descoberta de um host

Recupere todas as regras de descoberta para ID de host específico.

Request:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.get",
           "params": {
               "output": "extend",
               "hostids": "10202"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "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": "3s",
                   "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": "",
                   "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": "3s",
                   "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": "",
                   "state": "0",
                   "error": "",
                   "parameters": []
               }
           ],
           "id": 1
       }

Recuperando condições de filtro

Recupere o nome da regra LLD "24681" e suas condições de filtro. o filtro usa o tipo de avaliação "and", então a propriedade formula é vazio e eval_formula é gerado automaticamente.

Request:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.get",
           "params": {
               "output": ["name"],
               "selectFilter": "extend",
               "itemids": ["24681"]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "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
       }

Recuperar regra LLD por URL

Recupere a regra LLD para o host pelo valor do campo de URL da regra. Apenas a correspondência exata da string de URL definida para a regra LLD é compatível.

Request:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.get",
           "params": {
               "hostids": "10257",
               "filter": {
                   "type": 19,
                   "url": "http://127.0.0.1/discoverer.php"
               }
           },
           "id": 39,
           "auth": "d678e0b85688ce578ff061bd29a20d3b"
       }

Response:

{
           "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": "3s",
                   "url": "http://127.0.0.1/discoverer.php",
                   "query_fields": [
                       {
                           "mode": "json"
                       },
                       {
                           "elements": "2"
                       }
                   ],
                   "posts": "",
                   "status_codes": "200",
                   "follow_redirects": "1",
                   "post_type": "0",
                   "http_proxy": "",
                   "headers": {
                       "X-Type": "api",
                       "Authorization": "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": "",
                   "state": "0",
                   "error": "",
                   "parameters": []
               }
           ],
           "id": 39
       }

Recuperar regra LLD com substituições

Recuperar uma regra LLD que tenha várias configurações de substituição.

Request:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.get",
           "params": {
               "output": ["name"],
               "itemids": "30980",
               "selectOverrides": ["name", "step", "stop", "filter", "operations"]
           },
           "id": 39,
           "auth": "d678e0b85688ce578ff061bd29a20d3b"
       }

Response:

{
           "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": 39
       }

Veja também

Fonte

CDiscoveryRule::get() in ui/include/classes/api/services/CDiscoveryRule.php.