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

Sidebar

Zabbix 6.2
Zabbix 6.2 is out. Explore whats new!

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|Beschrijving| |---------|--------------------------------------- ------------|-----------| |itemids|string/array|Retourneer alleen LLD-regels met de opgegeven ID's.| |groupids|string/array|Retourneert alleen LLD-regels die behoren tot de hosts van de gegeven groepen.| |hostids|string/array|Retourneer alleen LLD-regels die bij de opgegeven hosts horen.| |inherited|boolean|Indien ingesteld op true, worden alleen LLD-regels geretourneerd die zijn overgenomen van een sjabloon.| |interfaceids|string/array|Return alleen LLD-regels gebruiken de opgegeven host interfaces.| |monitored|boolean|Indien ingesteld op true retourneer alleen ingeschakelde LLD-regels die bij bewaakte hosts horen.| |template|boolean|Indien ingesteld op true, worden alleen LLD-regels geretourneerd die bij sjablonen horen.| |templateids|string/array|Retourneer alleen LLD-regels die bij de opgegeven sjablonen horen.| |selectFilter|query|Retourneer een eigenschap filter met gegevens van het filter dat door de LLD-regel wordt gebruikt.| |selectGraphs|query|Retourneert een eigenschap graphs met grafiek prototypes die bij de LLD-regel horen.

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

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

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

Ondersteunt count.| |selectLLDMacroPaths|query|Retourneer een eigenschap lld_macro_paths met een lijst van LLD-macro's en paden naar waarden die aan elke corresponderende macro zijn toegewezen.| |selectPreprocessing|query|Retourneer een eigenschap preprocessing met voorverwerkings opties voor LLD-regels.

Het heeft de volgende eigenschappen:
type - (string) Het preprocessing-optietype:
5 - Overeenstemming met reguliere expressies;
11 - XML XPath;
12 - JSONPath;
15 - Komt niet overeen met reguliere expressie;
16 - Controleer op fouten in JSON;
17 - Controleer op fouten in XML;
20 - Ongewijzigd weggooien met hartslag;
23 - Prometheus naar JSON;
24 - CSV naar JSON;
25 - Vervang;
27 - XML naar JSON.

params - (string) Extra parameters gebruikt door voorverwerkings optie. Meerdere parameters worden gescheiden door het LF-teken (\n).
error_handler - (string) Actietype dat wordt gebruikt in het geval van een mislukte voorverwerkings stap:
0 - Foutbericht wordt ingesteld door Zabbix-server;<br >1 - Waarde negeren;
2 - Aangepaste waarde instellen;
3 - Aangepaste foutmelding instellen.

error_handler_params - (string) Parameters voor fouthandler.| |selectOverrides|query|Retourneer een eigenschap lld_rule_overrides met een lijst van opheffingsfilters, voorwaarden en bewerkingen die worden uitgevoerd op prototypeobjecten.| |filter|object|Retourneert alleen die resultaten die exact overeenkomen met het opgegeven filter.

Accepteert een array, waarbij de sleutels eigenschaps namen zijn en de waarden een enkele waarde zijn of een array van waarden om mee te vergelijken.

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

Van toepassing op de volgende subselecties:
selctItems;
selectGraphs;
selectTriggers.| |sortfield|string/array|Sorteer het resultaat op de gegeven eigenschappen.

Mogelijke waarden zijn: itemid, name, key_, delay, type en status.| |countOutput|boolean|Deze parameters gelden voor alle get-methoden en worden in detail beschreven in de referentiecommentaar.| |editable|booleaans|^| |excludeSearch|boolean|^| |limit|geheel getal|^| |output|query|^| |preservekeys|boolean|^| |search|object|^| |searchByAny|boolean|^| |searchWildcardsEnabled|boolean|^| |sortordee|string/array|^| |startSearch|booleaans|^|

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.