discoveryrule.get

Descripció

integer/array discoveryrule.get(object parameters)

El mètode permet recuperar regles LLD segons els paràmetres proveïts.

Aquest mètode és disponible per a usuaris de qualsevol mena. Els permisos per cridar al mètode es poden revocar a les configuracions de rols d'usuari. Per a més informació, veieu Rols d'usuari.

Paràmetres

(object) Paràmetres que defineixen la sortida esperada.

El mètode admet els paràmetres següents.

Paràmetre Tipus Descripció
itemids ID/array Retorna només les regles LLD amb els ID donats.
groupids ID/array Retorna només les regles LLD que pertanyen als hosts dels grups donats.
hostids ID/array Retorna només les regles LLD que pertanyen als equips donats.
inherited boolean Si es defineix a true, retorna només les regles LLD heretades d'una plantilla.
interfaceids ID/array Retorna només les regles LLD que utilitzen les interfícies d'equip donades.
monitored boolean Si es defineix a true, retorna només les regles LLD habilitades que pertanyen als equips monitoritzats.
templated boolean Si es defineix a true, retorna només les regles LLD que pertanyen a plantilles.
templateids ID/array Retorna només les regles LLD que pertanyen a les plantilles donades.
selectDiscoveryData query Retorna una propietat discoveryData amb les dades de l'objecte de descoberta de regles LLD. L'objecte de descoberta de regles LLD enllaça una regla LLD descoberta amb un prototip de regla LLD a partir del qual es va trobar.
selectDiscoveryRulePrototypes query Retorna una propietat discoveryRulePrototypes amb prototips de regles LLD que pertanyen a la regla LLD.

Admet count.
selectFilter query Retorna una propietat filter amb dades del filtre utilitzat per la regla LLD.
selectGraphs query Retorna una propietat graphs amb prototips de gràfics que pertanyen a la regla LLD.

Admet count.
selectHostPrototypes query Retorna una propietat hostPrototypes amb prototips d'amfitrió que pertanyen a la regla LLD.

Admet count.
selectHosts query Retorna una propietat hosts amb una matriu d'amfitrions als quals pertany la regla LLD.
selectItems query Retorna una propietat items amb prototips d'elements que pertanyen a la regla LLD.

Admet count.
selectTriggers query Retorna una propietat triggers amb prototips de triggers que pertanyen a la regla LLD.

Admet count.
selectLLDMacroPaths query Retorna una propietat lld_macro_paths amb una llista de macros LLD i camins als valors assignats a cada macro corresponent.
selectPreprocessing query Retorna una propietat preprocessing amb opcions de preprocessament de regles LLD.
selectOverrides query Retorna una propietat lld_rule_overrides amb una llista de filtres de substitució, condicions i operacions que es fan sobre objectes prototip.
filter object Retorna només els resultats que coincideixin exactament amb el filtre donat.

Accepta un objecte, on les claus són noms de propietats i els valors són un valor únic o una matriu de valors amb els quals comparar.

No admet propietats de text tipus de dades.

Admet propietats addicionals:
host - nom tècnic de l'equip al qual pertany la regla LLD.
limitSelects integer Limita el nombre de registres retornats per les subseleccions.

S'aplica a les subseleccions següents: selectItems, selectGraphs, selectTriggers.
sortfield string/array Ordena el resultat segons les propietats donades.

Valors possibles: itemid, name, key_, delay, type, status.
countOutput boolean Aquests paràmetres es descriuen al comentari de referència.
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
search object
searchByAny booleà
searchWildcardsEnabled booleà
sortorder cadena/matriu
startSearch booleà

Valors de retorn

(integer/array) Retorna un d'entre:

  • una taula d'objectes;
  • el recompte d'objectes recuperats, si s'empra el paràmetre countOutput.

Exemples

Recuperant regles de descoberta d'un equip

Recuperar totes les regles de descoberta d'un ID d'equip específic.

Petició:

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

Recuperant condicions de filtres

Recuperar el nom de la regla LLD "24681" i les seves condicions de filtratge. El filtre empra el tipus d'avaluació "i", pel que la propietat formula és buida i la propietat eval_formula es genera automàticament.

Petició:

{
           "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 i B i C i D"
                   }
               }
           ],
           "id": 1
       }

Recuperar regla LLD per URL

Recupera la regla LLD per a un equip segons el valor del camp URL de la regla. Només s'admet la correspondència exacta de la cadena URL definida per la regla.

Petició:

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

Recuperar cadena LLD amb reemplaçaments

Recupera una regla LLD que té diferents paràmetres de reemplaçament.

Petició:

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

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

Veieu també

Font

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