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 countOutput a é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.

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": "",
            "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.

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 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.

Requête:

{
    "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

Source

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