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.
(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 |
(integer/array)
Retourne soit:
countOutput
a été utilisé.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é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 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
}
CDiscoveryRule::get() dans frontends/php/include/classes/api/services/CDiscoveryRule.php.