object discoveryrule.create(object/array lldRules)
Cette méthode permet de créer de nouvelles règles de découverte bas niveau.
(object/array) Règles de découverte bas niveau à créer.
En plus des propriétés de l'objet règle de découverte bas niveau standard, la méthode accepte les paramètres suivants.
| Paramètre | Type | Description |
|---|---|---|
| filter | object | Objet filtre de règle de découverte bas niveau. |
(object) Retourne un objet contenant les identifiants des règles de découverte bas niveau créées sous la propriété itemids. L'ordre des ID retournés correspond à l'ordre des règles de découverte bas niveau transmises.
Créez une règle de découverte bas niveau pour découvrir les systèmes de fichiers montés. Les objets découverts seront mis à jour toutes les 30 secondes.
Requête :
{ "jsonrpc": "2.0", "method": "discoveryrule.create", "params": { "name": "Mounted filesystem discovery", "key_": "vfs.fs.discovery", "hostid": "10197", "type": "0", "interfaceid": "112", "delay": "30s" }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
Réponse :
{ "jsonrpc": "2.0", "result": { "itemids": [ "27665" ] }, "id": 1 }
Créez une règle de découverte bas niveau avec un ensemble de conditions pour filtrer les résultats. Les conditions seront regroupées à l’aide des opérateurs logiques “et”.
Requête :
{ "jsonrpc": "2.0", "method": "discoveryrule.create", "params": { "name": "Filtered LLD rule", "key_": "lld", "hostid": "10116", "type": "0", "interfaceid": "13", "delay": "30s", "filter": { "evaltype": 1, "conditions": [ { "macro": "{#MACRO1}", "value": "@regex1" }, { "macro": "{#MACRO2}", "value": "@regex2" }, { "macro": "{#MACRO3}", "value": "@regex3" } ] } }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
Réponse :
{ "jsonrpc": "2.0", "result": { "itemids": [ "27665" ] }, "id": 1 }
Créer une règle de découverte bas niveau avec un filtre qui utilisera une expression personnalisée pour évaluer les conditions. La règle doit découvrir uniquement les objets dont la macro “{#MACRO1}” correspond à l'expression régulière “regex1” et “regex2”, et la valeur de “{#MACRO2}” correspond à “regex3” ou “regex4”. Les ID de formule “A”, “B”, “C” et “D” ont été choisis arbitrairement.
Requête :
{ "jsonrpc": "2.0", "method": "discoveryrule.create", "params": { "name": "Filtered LLD rule", "key_": "lld", "hostid": "10116", "type": "0", "interfaceid": "13", "delay": "30s", "filter": { "evaltype": 3, "formula": "(A and B) and (C or D)", "conditions": [ { "macro": "{#MACRO1}", "value": "@regex1", "formulaid": "A" }, { "macro": "{#MACRO1}", "value": "@regex2", "formulaid": "B" }, { "macro": "{#MACRO2}", "value": "@regex3", "formulaid": "C" }, { "macro": "{#MACRO2}", "value": "@regex4", "formulaid": "D" } ] } }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
Réponse :
{ "jsonrpc": "2.0", "result": { "itemids": [ "27665" ] }, "id": 1 }
Créer une règle de découverte bas niveau avec des champs de requête et des en-têtes personnalisés.
Requête :
{ "jsonrpc": "2.0", "method": "discoveryrule.create", "params": { "hostid": "10257", "interfaceid": "5", "type": "19", "name": "API HTTP agent", "key_": "api_discovery_rule", "value_type": "3", "delay": "5s", "url": "http://127.0.0.1?discoverer.php", "query_fields": [ { "mode": "json" }, { "elements":"2" } ], "headers": { "X-Type": "api", "Authorization": "Bearer mF_A.B5f-2.1JcM" }, "allow_traps": "1", "trapper_hosts": "127.0.0.1", "id": 35, "auth": "d678e0b85688ce578ff061bd29a20d3b", } }
Réponse :
{ "jsonrpc": "2.0", "result": { "itemids": [ "28336" ] }, "id": 35 }
CDiscoveryRule::create() dans frontends/php/include/classes/api/services/CDiscoveryRule.php.