This is the documentation page for an unsupported version of Zabbix.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

discoveryrule.get

Description

integer/array discoveryrule.get(object parameters)

La méthode permet de récupérer les règles de découverte bas niveau en fonction des paramètres donnés.

Paramètres

(object) Paramètres définissant la sortie souhaitée.

La méthode prend en charge les paramètres suivants.

Paramètre Type Description
itemids string/array Renvoie uniquement les règles avec les ID donnés.
hostids string/array Renvoie uniquement les règles appartenant aux hôtes donnés.
inherited boolean Si défini sur true, ne renvoie que les règles héritées d'un modèle.
interfaceids string/array Renvoie uniquement les règles utilisant les interfaces hôtes données.
monitored boolean Si défini sur true, seules les règles actives appartenant aux hôtes surveillés seront renvoyées.
templated boolean Si défini sur true, seules les règles appartenant à des modèles seront renvoyées.
templateids string/array Renvoie uniquement les règles appartenant aux modèles donnés.
selectFilter query Renvoie le filtre utilisé par la règle dans la propriété filter.
selectGraphs query Renvoie les prototypes de graphe appartenant à la règle dans la propriété graphs.

Supporte count.
selectHostPrototypes query Renvoie les prototypes d'hôte appartenant à la règle dans la propriété hostPrototypes.

Supporte count.
selectHosts query Renvoie l'hôte auquel la règle appartient sous forme de tableau dans la propriété hosts.
selectItems query Renvoie les prototypes d'élément appartenant à la règle dans la propriété items.

Supporte count.
selectTriggers query Renvoie les prototypes de déclencheur appartenant à la règle dans la propriété triggers.

Supporte count.
filter object Renvoie uniquement les résultats qui correspondent exactement au filtre donné.

Accepte un tableau dans lequel les clés sont des noms de propriétés et les valeurs sont une valeur unique ou un tableau de valeurs à comparer.

Prend en charge des filtres supplémentaires :
host - nom technique de l'hôte auquel la règle appartient.
limitSelects integer Limite le nombre d'enregistrements renvoyés par les sous-requêtes.

S'applique aux sous-requêtes suivantes :
selctItems ;
selectGraphs ;
selectTriggers.
sortfield string/array Trie le résultat par les propriétés données.

Les valeurs possibles sont : itemid, name, key, delay, type et status.
countOutput boolean Ces paramètres, communs à toutes les méthodes "get", sont décrits dans les commentaires de référence.
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Valeurs retournées

(integer/array) Retourne soit:

  • un tableau d'objets ;
  • le nombre d'objets récupérés, si le paramètre countOutput a été utilisé.

Exemples

Récupération des règles de découverte bas niveau d'un hôte

Récupérer toutes les règles de découverte de l'hôte "10202".

Requête :

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

Réponse :

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "itemid": "27425",
                   "type": "0",
                   "snmp_community": "",
                   "snmp_oid": "",
                   "hostid": "10202",
                   "name": "Network interface discovery",
                   "key_": "net.if.discovery",
                   "delay": "1h",
                   "state": "0",
                   "status": "0",
                   "trapper_hosts": "",
                   "snmpv3_securityname": "",
                   "snmpv3_securitylevel": "0",
                   "snmpv3_authpassphrase": "",
                   "snmpv3_privpassphrase": "",
                   "error": "",
                   "templateid": "22444",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "interfaceid": "119",
                   "port": "",
                   "description": "Discovery of network interfaces as defined in global regular expression \"Network interfaces for discovery\".",
                   "lifetime": "30d",
                   "snmpv3_authprotocol": "0",
                   "snmpv3_privprotocol": "0",
                   "snmpv3_contextname": "",
                   "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"
               },
               {
                   "itemid": "27426",
                   "type": "0",
                   "snmp_community": "",
                   "snmp_oid": "",
                   "hostid": "10202",
                   "name": "Mounted filesystem discovery",
                   "key_": "vfs.fs.discovery",
                   "delay": "1h",
                   "state": "0",
                   "status": "0",
                   "trapper_hosts": "",
                   "snmpv3_securityname": "",
                   "snmpv3_securitylevel": "0",
                   "snmpv3_authpassphrase": "",
                   "snmpv3_privpassphrase": "",
                   "error": "",
                   "templateid": "22450",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "interfaceid": "119",
                   "port": "",
                   "description": "Discovery of file systems of different types as defined in global regular expression \"File systems for discovery\".",
                   "lifetime": "30d",
                   "snmpv3_authprotocol": "0",
                   "snmpv3_privprotocol": "0",
                   "snmpv3_contextname": "",
                   "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"
               }
           ],
           "id": 1
       }

Récupération des conditions de filtre

Récupérez le nom de la règle "24681" et ses conditions de filtrage. Le filtre utilise les types d'évaluation "et". La propriété formula est donc vide et la propriété eval_formula est générée automatiquement.

Requête :

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

Réponse :

{
           "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": "8",
                               "formulaid": "B"
                           },
                           {
                               "macro": "{#MACRO3}",
                               "value": "@regex3",
                               "operator": "8",
                               "formulaid": "C"
                           }
                       ],
                       "eval_formula": "A and B and C"
                   }
               }
           ],
           "id": 1
       }

Récupérer une règle par URL

Récupérer la règle pour l'hôte par la valeur du champ URL de la règle. Seule la correspondance exacte de la chaîne d'URL définie pour la règle est prise en charge.

Requête :

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

Réponse :

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "itemid": "28336",
                   "type": "19",
                   "snmp_community": "",
                   "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": "",
                   "snmpv3_securityname": "",
                   "snmpv3_securitylevel": "0",
                   "snmpv3_authpassphrase": "",
                   "snmpv3_privpassphrase": "",
                   "error": "",
                   "lastlogsize": "0",
                   "logtimefmt": "",
                   "templateid": "0",
                   "valuemapid": "0",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "mtime": "0",
                   "flags": "1",
                   "interfaceid": "5",
                   "port": "",
                   "description": "",
                   "inventory_link": "0",
                   "lifetime": "30d",
                   "snmpv3_authprotocol": "0",
                   "snmpv3_privprotocol": "0",
                   "state": "0",
                   "snmpv3_contextname": "",
                   "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"
               }
           ],
           "id": 39
       }

Voir également

Source

CDiscoveryRule::get() dans frontends/php/include/classes/api/services/CDiscoveryRule.php.