discoveryrule.get
Description
integer/array discoveryrule.get(object parameters)
La méthode permet de récupérer les règles LLD selon les paramètres fournis.
Cette méthode est disponible pour les utilisateurs de tout type. Les autorisations d’appel de la méthode peuvent être révoquées dans les paramètres du rôle utilisateur. Voir User roles pour plus d’informations.
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 | ID/array | Retourner uniquement les règles LLD avec les ID donnés. |
| groupids | ID/array | Retourner uniquement les règles LLD qui appartiennent aux hôtes des groupes donnés. |
| hostids | ID/array | Retourner uniquement les règles LLD qui appartiennent aux hôtes donnés. |
| inherited | boolean | Si défini sur true, retourner uniquement les règles LLD héritées d’un modèle. |
| interfaceids | ID/array | Retourner uniquement les règles LLD qui utilisent les interfaces d’hôte données. |
| monitored | boolean | Si défini sur true, retourner uniquement les règles LLD activées qui appartiennent à des hôtes surveillés. |
| templated | boolean | Si défini sur true, retourner uniquement les règles LLD qui appartiennent à des modèles. |
| templateids | ID/array | Retourner uniquement les règles LLD qui appartiennent aux modèles donnés. |
| selectDiscoveryData | query | Retourner une propriété discoveryData avec les données de l’objet de découverte de la règle LLD. L’objet de découverte de la règle LLD relie une règle LLD découverte à un prototype de règle LLD à partir duquel elle a été découverte. |
| selectDiscoveryRulePrototypes | query | Retourner une propriété discoveryRulePrototypes avec les prototypes de règle LLD qui appartiennent à la règle LLD.Prend en charge count. |
| selectFilter | query | Retourner une propriété filter avec les données du filtre utilisé par la règle LLD. |
| selectGraphs | query | Retourner une propriété graphs avec les prototypes de graphique qui appartiennent à la règle LLD.Prend en charge count. |
| selectHostPrototypes | query | Retourner une propriété hostPrototypes avec les prototypes d’hôte qui appartiennent à la règle LLD.Prend en charge count. |
| selectHosts | query | Retourner une propriété hosts avec un tableau des hôtes auxquels la règle LLD appartient. |
| selectItems | query | Retourner une propriété items avec les prototypes d’élément de données qui appartiennent à la règle LLD.Prend en charge count. |
| selectTriggers | query | Retourner une propriété triggers avec les prototypes de déclencheur qui appartiennent à la règle LLD.Prend en charge count. |
| selectLLDMacroPaths | query | Retourner une propriété lld_macro_paths avec une liste des macros LLD et des chemins vers les valeurs attribuées à chaque macro correspondante. |
| selectPreprocessing | query | Retourner une propriété preprocessing avec les options de prétraitement de la règle LLD. |
| selectOverrides | query | Retourner une propriété lld_rule_overrides avec une liste de filtres de substitution, de conditions et d’opérations exécutées sur les objets prototypes. |
| filter | object | Retourner uniquement les résultats qui correspondent exactement au filtre donné. Accepte un objet, où les clés sont des noms de propriété et les valeurs sont soit une valeur unique, soit un tableau de valeurs à faire correspondre. Ne prend pas en charge les propriétés du type de données text.Prend en charge des propriétés supplémentaires : host - nom technique de l’hôte auquel la règle LLD appartient. |
| limitSelects | integer | Limite le nombre d’enregistrements renvoyés par les sous-sélections. S’applique aux sous-sélections suivantes : selectItems, selectGraphs, selectTriggers. |
| sortfield | string/array | Trier le résultat selon les propriétés données. Valeurs possibles : itemid, name, key_, delay, type, status. |
| countOutput | boolean | Ces paramètres sont décrits dans le commentaire 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 de retour
(integer/array) Renvoie soit :
- un tableau d’objets
- le nombre d’objets récupérés, si le paramètre
countOutputa été utilisé.
Exemples
Récupération des règles de découverte d’un hôte
Récupérez toutes les règles de découverte pour un ID d’hôte spécifique.
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": "extend",
"hostids": "10202"
},
"id": 1
}
Réponse :
{
"jsonrpc": "2.0",
"result": [
{
"itemid": "27425",
"type": "0",
"snmp_oid": "",
"hostid": "10202",
"name": "Découverte des interfaces réseau",
"key_": "net.if.discovery",
"delay": "1h",
"status": "0",
"trapper_hosts": "",
"templateid": "22444",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"flags": "1",
"interfaceid": "119",
"description": "Découverte des interfaces réseau telles que définies dans l’expression régulière globale \"Network interfaces for discovery\".",
"lifetime": "30d",
"jmx_endpoint": "",
"master_itemid": "0",
"timeout": "",
"url": "",
"query_fields": [],
"posts": "",
"status_codes": "200",
"follow_redirects": "1",
"post_type": "0",
"http_proxy": "",
"headers": [],
"retrieve_mode": "0",
"request_method": "0",
"output_format": "0",
"ssl_cert_file": "",
"ssl_key_file": "",
"ssl_key_password": "",
"verify_peer": "0",
"verify_host": "0",
"allow_traps": "0",
"uuid": "",
"lifetime_type": "0",
"enabled_lifetime_type": "2",
"enabled_lifetime": "0",
"state": "0",
"error": "",
"parameters": []
},
{
"itemid": "27426",
"type": "0",
"snmp_oid": "",
"hostid": "10202",
"name": "Découverte des systèmes de fichiers montés",
"key_": "vfs.fs.discovery",
"delay": "1h",
"status": "0",
"trapper_hosts": "",
"templateid": "22450",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"flags": "1",
"interfaceid": "119",
"description": "Découverte des systèmes de fichiers de différents types tels que définis dans l’expression régulière globale \"File systems for discovery\".",
"lifetime": "30d",
"jmx_endpoint": "",
"master_itemid": "0",
"timeout": "",
"url": "",
"query_fields": [],
"posts": "",
"status_codes": "200",
"follow_redirects": "1",
"post_type": "0",
"http_proxy": "",
"headers": [],
"retrieve_mode": "0",
"request_method": "0",
"output_format": "0",
"ssl_cert_file": "",
"ssl_key_file": "",
"ssl_key_password": "",
"verify_peer": "0",
"verify_host": "0",
"allow_traps": "0",
"uuid": "",
"lifetime_type": "0",
"enabled_lifetime_type": "2",
"enabled_lifetime": "0",
"state": "0",
"error": "",
"parameters": []
}
],
"id": 1
}
Récupération des conditions de filtre
Récupérez le nom de la règle LLD « 24681 » et ses conditions de filtre.
Le filtre utilise le type d’évaluation « and », donc la propriété formula est vide et eval_formula est générée automatiquement.
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": ["name"],
"selectFilter": "extend",
"itemids": ["24681"]
},
"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": "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
}
Récupérer une règle LLD par URL
Récupérez la règle LLD d’un hôte à partir de la valeur du champ URL de la règle. Seule la correspondance exacte de la chaîne URL définie pour la règle LLD 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": 1
}
Réponse :
{
"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": "",
"flags": "1",
"interfaceid": "5",
"description": "",
"lifetime": "30d",
"jmx_endpoint": "",
"master_itemid": "0",
"timeout": "",
"url": "http://127.0.0.1/discoverer.php",
"query_fields": [
{
"name": "mode",
"value": "json"
},
{
"name": "elements",
"value": "2"
}
],
"posts": "",
"status_codes": "200",
"follow_redirects": "1",
"post_type": "0",
"http_proxy": "",
"headers": [
{
"name" : "X-Type",
"value": "api"
},
{
"name": "Authorization",
"value": "Bearer mF_A.B5f-2.1JcM"
}
],
"retrieve_mode": "0",
"request_method": "1",
"output_format": "0",
"ssl_cert_file": "",
"ssl_key_file": "",
"ssl_key_password": "",
"verify_peer": "0",
"verify_host": "0",
"allow_traps": "0",
"uuid": "",
"lifetime_type": "0",
"enabled_lifetime_type": "2",
"enabled_lifetime": "0",
"state": "0",
"error": "",
"parameters": []
}
],
"id": 1
}
Récupérer une règle LLD avec des remplacements
Récupérez une règle LLD qui possède divers paramètres de remplacement.
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": ["name"],
"itemids": "30980",
"selectOverrides": ["name", "step", "stop", "filter", "operations"]
},
"id": 1
}
Réponse :
{
"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": 1
}
Voir également
- Prototype de graphique
- Hôte
- Prototype d'élément
- Filtre de règle de découverte bas niveau
- Prototype de déclencheur
Source
CDiscoveryRule::get() dans ui/include/classes/api/services/CDiscoveryRule.php.