discoveryrule.get

Beschrijving

integer/array discoveryrule.get(object parameters)

Deze methode maakt het mogelijk om LLD-regels op te halen op basis van de opgegeven parameters.

Deze methode is beschikbaar voor gebruikers van elk type. Rechten om de methode aan te roepen kunnen worden ingetrokken in de instellingen van gebruikersrollen. Zie Gebruikersrollen voor meer informatie.

Parameters

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

De methode ondersteunt de volgende parameters.

Parameter Type Omschrijving
itemids string/array Geef alleen LLD-regels terug met de opgegeven IDs.
groupids string/array Geef alleen LLD-regels terug die behoren tot de hosts van de opgegeven groepen.
hostids string/array Geef alleen LLD-regels terug die behoren tot de opgegeven hosts.
inherited boolean Indien ingesteld op true, geef alleen LLD-regels terug die geërfd zijn van een sjabloon.
interfaceids string/array Geef alleen LLD-regels terug die de opgegeven hostinterfaces gebruiken.
monitored boolean Indien ingesteld op true, geef alleen ingeschakelde LLD-regels terug die behoren tot gemonitorde hosts.
templated boolean Indien ingesteld op true, geef alleen LLD-regels terug die behoren tot sjablonen.
templateids string/array Geef alleen LLD-regels terug die behoren tot de opgegeven sjablonen.
selectFilter query Geef een filter eigenschap terug met gegevens van de filter die door de LLD-regel wordt gebruikt.
selectGraphs query Geeft een graphs eigenschap terug met grafiek-prototypes die bij de LLD-regel horen.

Ondersteunt count.
selectHostPrototypes query Geef een hostPrototypes eigenschap terug met host-prototypes die bij de LLD-regel horen.

Ondersteunt count.
selectHosts query Geef een hosts eigenschap terug met een array van hosts waartoe de LLD-regel behoort.
selectItems query Geef een items eigenschap terug met item-prototypes die bij de LLD-regel horen.

Ondersteunt count.
selectTriggers query Geef een triggers eigenschap terug met trigger-prototypes die bij de LLD-regel horen.

Ondersteunt count.
selectLLDMacroPaths query Geef 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 Geef een preprocessing eigenschap terug met opties voor voorverwerking van LLD-regels.
selectOverrides query Geef een lld_rule_overrides eigenschap terug met een lijst van override-filters, -voorwaarden en -bewerkingen die worden uitgevoerd op prototype-objecten.
filter object Geef alleen resultaten terug die exact overeenkomen met de opgegeven filter.

Accepteert een array, waarbij de sleutels eigenschapsnamen zijn en de waarden ofwel een enkele waarde of een array van waarden zijn om tegen te matchen.

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

Van toepassing op de volgende subselecties: selectItems, selectGraphs, selectTriggers.
sortfield string/array Sorteer het resultaat op de opgegeven eigenschappen.

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

Retourwaarden

(integer/array) Geeft ofwel terug:

  • een array van objecten;
  • het aantal opgehaalde objecten, indien de parameter countOutput is gebruikt.

Voorbeelden

Ophalen van ontdekkingsregels van een host

Haal alle ontdekkingsregels op voor een specifieke host-ID.

Aanvraag:

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

Reactie:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "itemid": "27425",
                   "type": "0",
                   "snmp_oid": "",
                   "hostid": "10202",
                   "name": "Netwerkinterface-ontdekking",
                   "key_": "net.if.discovery",
                   "delay": "1u",
                   "status": "0",
                   "trapper_hosts": "",
                   "templateid": "22444",
                   "valuemapid": "0",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "interfaceid": "119",
                   "description": "Ontdekking van netwerkinterfaces zoals gedefinieerd in de wereldwijde reguliere expressie \"Netwerkinterfaces voor ontdekking\".",
                   "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": "Ontdekking van gemonteerde bestandssystemen",
                   "key_": "vfs.fs.discovery",
                   "delay": "1u",
                   "status": "0",
                   "trapper_hosts": "",
                   "templateid": "22450",
                   "valuemapid": "0",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "interfaceid": "119",
                   "description": "Ontdekking van bestandssystemen van verschillende types zoals gedefinieerd in de wereldwijde reguliere expressie \"Bestandssystemen voor ontdekking\".",
                   "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
       }

Ophalen van filtervoorwaarden

Haal de naam op van de LLD-regel "24681" en de filtervoorwaarden ervan op. De filter gebruikt het evaluatietype "en", dus de eigenschap formula is leeg en eval_formula wordt automatisch gegenereerd.

Aanvraag:

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

Reactie:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "itemid": "24681",
                   "name": "Gefilterde LLD-regel",
                   "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 en B en C en D"
                   }
               }
           ],
           "id": 1
       }

LLD-regel ophalen via URL

Haal de LLD-regel op voor een host op basis van de waarde van het URL-veld van de regel. Alleen een exacte overeenkomst van de URL-string die is gedefinieerd voor de LLD-regel wordt ondersteund.

Aanvraag:

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

Reactie:

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

LLD-regel met overschrijvingen ophalen

Haal een LLD-regel op die verschillende overschrijvingsinstellingen heeft.

Aanvraag:

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

Reactie:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "name": "Ontdek databasehost",
                   "overschrijvingen": [
                       {
                           "name": "Ontdek 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 of B"
                           },
                           "operaties": [
                               {
                                   "operationobject": "3",
                                   "operator": "2",
                                   "value": "Databasehost",
                                   "opstatus": {
                                       "status": "0"
                                   },
                                   "optag": [
                                       {
                                           "tag": "Database",
                                           "value": "MySQL"
                                       }
                                   ],
                                   "optemplate": [
                                       {
                                           "templateid": "10170"
                                       }
                                   ]
                               }
                           ]
                       },
                       {
                           "name": "Ontdek PostgreSQL-host",
                           "step": "2",
                           "stop": "1",
                           "filter": {
                               "evaltype": "0",
                               "formula": "",
                               "conditions": [
                                   {
                                       "macro": "{#UNIT.NAME}",
                                       "operator": "8",
                                       "value": "^postgresql\\.service$",
                                       "formulaid": "A"
                                   }
                               ],
                               "eval_formula": "A"
                           },
                           "operaties": [
                               {
                                   "operationobject": "3",
                                   "operator": "2",
                                   "value": "Databasehost",
                                   "opstatus": {
                                       "status": "0"
                                   },
                                   "optag": [
                                       {
                                           "tag": "Database",
                                           "value": "PostgreSQL"
                                       }
                                   ],
                                   "optemplate": [
                                       {
                                           "templateid": "10263"
                                       }
                                   ]
                               }
                           ]
                       }
                   ]
               }
           ],
           "id": 1
       }

Zie ook

Bron

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