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 des rôles utilisateur. Consultez Rôles utilisateur 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.
| Parameter | Type | Description |
|---|---|---|
| itemids | ID/array | Retourne uniquement les règles LLD avec les IDs donnés. |
| groupids | ID/array | Retourne uniquement les règles LLD qui appartiennent aux hôtes des groupes donnés. |
| hostids | ID/array | Retourne uniquement les règles LLD qui appartiennent aux hôtes donnés. |
| inherited | boolean | Si défini sur true, retourne uniquement les règles LLD héritées d'un modèle. |
| interfaceids | ID/array | Retourne uniquement les règles LLD qui utilisent les interfaces d'hôte données. |
| monitored | boolean | Si défini sur true, retourne uniquement les règles LLD activées qui appartiennent à des hôtes surveillés. |
| templated | boolean | Si défini sur true, retourne uniquement les règles LLD qui appartiennent à des modèles. |
| templateids | ID/array | Retourne uniquement les règles LLD qui appartiennent aux modèles donnés. |
| selectFilter | query | Retourne une propriété filter avec les données du filtre utilisé par la règle LLD. |
| selectGraphs | query | Retourne une propriété graphs avec les prototypes de graphiques qui appartiennent à la règle LLD.Prend en charge count. |
| selectHostPrototypes | query | Retourne une propriété hostPrototypes avec les prototypes d'hôte qui appartiennent à la règle LLD.Prend en charge count. |
| selectHosts | query | Retourne une propriété hosts avec un tableau d'hôtes auxquels la règle LLD appartient. |
| selectItems | query | Retourne une propriété items avec les prototypes d'éléments qui appartiennent à la règle LLD.Prend en charge count. |
| selectTriggers | query | Retourne une propriété triggers avec les prototypes de déclencheurs qui appartiennent à la règle LLD.Prend en charge count. |
| selectLLDMacroPaths | query | Retourne une propriété lld_macro_paths avec une liste de macros LLD et de chemins vers les valeurs attribuées à chaque macro correspondante. |
| selectPreprocessing | query | Retourne une propriété preprocessing avec les options de prétraitement de la règle LLD. |
| selectOverrides | query | Retourne une propriété lld_rule_overrides avec une liste de filtres de remplacement, de conditions et d'opérations appliquées aux objets prototypes. |
| filter | object | Retourne uniquement les résultats qui correspondent exactement au filtre donné. Accepte un objet, où les clés sont des noms de propriétés et les valeurs sont soit une valeur unique, soit un tableau de valeurs à comparer. Ne prend pas en charge les propriétés de type de données text data type.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 | Trie 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ère toutes les règles de découverte pour un ID d'hôte spécifique.
Requête :
{
"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": "",
"interfaceid": "119",
"description": "Découverte des interfaces réseau telles que définies dans l'expression régulière globale \"Interfaces réseau pour la découverte\".",
"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",
"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": "",
"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 \"Systèmes de fichiers pour la découverte\".",
"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",
"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.
Requête :
{
"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 le règle LLD par URL
Récupère la règle LLD pour un hôte par 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.
{
"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": "",
"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",
"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 aussi
Source
CDiscoveryRule::get() dans ui/include/classes/api/services/CDiscoveryRule.php.