This is a translation of the original English documentation page. Help us make it better.

discoveryrule.get

Beschrijving

integer/array discoveryrule.get(objectparameters)

De methode maakt het mogelijk om LLD-regels op te halen volgens de gegeven parameters.

Deze methode is beschikbaar voor gebruikers van elk type. Rechten om de methode aan te roepen, kan worden ingetrokken in de instellingen van de gebruikersrol. Zie Gebruiker rollen voor meer informatie.

Parameters

(object) Parameters die de gewenste uitvoer definiëren.

De methode ondersteunt de volgende parameters.

Parameter Type Description
itemids string/array Geeft alleen LLD-regels terug met de opgegeven ID's.
groupids string/array Geeft alleen LLD-regels terug die toebehoren aan de hosts uit de opgegeven groepen.
hostids string/array Geeft alleen LLD-regels terug die toebehoren aan de opgegeven hosts.
inherited boolean Als ingesteld op true, geeft het alleen LLD-regels terug die geërfd zijn van een sjabloon.
interfaceids string/array Geeft alleen LLD-regels terug die de opgegeven hostinterfaces gebruiken.
monitored boolean Als ingesteld op true, geeft het alleen ingeschakelde LLD-regels terug die toebehoren aan bewaakte hosts.
templated boolean Als ingesteld op true, geeft het alleen LLD-regels terug die toebehoren aan sjablonen.
templateids string/array Geeft alleen LLD-regels terug die toebehoren aan de opgegeven sjablonen.
selectFilter query Geeft een filter-eigenschap terug met gegevens van de filter die door de LLD-regel wordt gebruikt.
selectGraphs query Geeft een graphs-eigenschap terug met grafieksjablonen die toebehoren aan de LLD-regel.

Ondersteunt count.
selectHostPrototypes query Geeft een hostPrototypes-eigenschap terug met hostsjablonen die toebehoren aan de LLD-regel.

Ondersteunt count.
selectHosts query Geeft een hosts-eigenschap terug met een array van hosts waartoe de LLD-regel behoort.
selectItems query Geeft een items-eigenschap terug met item-sjablonen die toebehoren aan de LLD-regel.

Ondersteunt count.
selectTriggers query Geeft een triggers-eigenschap terug met triggersjablonen die toebehoren aan de LLD-regel.

Ondersteunt count.
selectLLDMacroPaths query Geeft een lld_macro_paths-eigenschap terug met een lijst van LLD-macro's en paden naar waarden die aan elke overeenkomstige macro zijn toegewezen.
selectPreprocessing query Geeft een preprocessing-eigenschap terug met LLD-regel preprocessing-opties.
selectOverrides query Geeft een lld_rule_overrides-eigenschap terug met een lijst van overriden filters, voorwaarden en operaties die worden uitgevoerd op prototypes.
filter object Geeft alleen resultaten terug die precies overeenkomen met de opgegeven filter.

Accepteert een array, waarbij de sleutels eigenschapsnamen zijn en de waarden ofwel een enkele waarde ofwel een array van waarden zijn om mee te vergelijken.

Ondersteunt aanvullende filters:
host - technische naam van de host waartoe de LLD-regel behoort.
limitSelects integer Beperkt het aantal records dat wordt teruggegeven door subselects.

Van toepassing op de volgende subselects:
selctItems;
selectGraphs;
selectTriggers.
sortfield string/array Sorteert het resultaat op basis van de opgegeven eigenschappen.

Mogelijke waarden zijn: itemid, name, key_, delay, type en status.
countOutput boolean Deze parameters, die gebruikelijk zijn voor alle get-methoden, worden in detail beschreven in het referentiecommentaar.
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Retourwaarden

(integer/array) Retourneert ofwel:

  • een reeks objecten;
  • het aantal opgehaalde objecten, als de parameter countOutput heeft gebruikt.

Voorbeelden

Ophalen van ontdekkingsregels van een host

Haal alle ontdekkingsregels op van host "10202".

Verzoek:

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

Antwoord:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "itemid": "27425",
                   "type": "0",
                   "snmp_oid": "",
                   "hostid": "10202",
                   "name": "Network interface discovery",
                   "key_": "net.if.discovery",
                   "delay": "1h",
                   "state": "0",
                   "status": "0",
                   "trapper_hosts": "",
                   "error": "",
                   "templateid": "22444",
                   "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",
                   "parameters": []
               },
               {
                   "itemid": "27426",
                   "type": "0",
                   "snmp_oid": "",
                   "hostid": "10202",
                   "name": "Mounted filesystem discovery",
                   "key_": "vfs.fs.discovery",
                   "delay": "1h",
                   "state": "0",
                   "status": "0",
                   "trapper_hosts": "",
                   "error": "",
                   "templateid": "22450",
                   "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",
                   "parameters": []
               }
           ],
           "id": 1
       }

Ophalen van filter voorwaarden

Ophalen van LLD regel "24681" en de filter voorwaarden hiervan. Het filter gebruikt de logische "en" evaluatie, dus de eigenschap "formula" is leeg terwijl "eval_formula" automatisch gegenereerd is.

Verzoek:

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

Antwoord:

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

Haal LLD regel op via URL

Haal de LLD regel voor een host op via de URL veld waarde. Alleen een exacte match voor de URL string zoals in de LLD regel gedefineerd is, is supported.

Verzoek:

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

Antwoord:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "itemid": "28336",
                   "type": "19",
                   "snmp_oid": "",
                   "hostid": "10257",
                   "name": "API HTTP agent",
                   "key_": "api_discovery_rule",
                   "delay": "5s",
                   "history": "90d",
                   "trends": "0",
                   "status": "0",
                   "value_type": "4",
                   "trapper_hosts": "",
                   "units": "",
                   "error": "",
                   "logtimefmt": "",
                   "templateid": "0",
                   "valuemapid": "0",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "flags": "1",
                   "interfaceid": "5",
                   "description": "",
                   "inventory_link": "0",
                   "lifetime": "30d",
                   "state": "0",
                   "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",
                   "parameters": []
               }
           ],
           "id": 39
       }

Haal een LLD regel met overschrijvingen op.

Haal een LLD regel met meerdere overschrijvings instellingen op.

Verzoek:

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

Antwoord:

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

Zie ook

Bron

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