Áú»¢¶Ä²©

This is the documentation page for an unsupported version of Áú»¢¶Ä²©.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

discoveryrule.create

Description

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.

±Ê²¹°ù²¹³¾¨¨³Ù°ù±ð Type Description
filter object Objet filtre de r¨¨gle de d¨¦couverte bas niveau.

Valeurs retourn¨¦es

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

Exemples

Cr¨¦ation d'une r¨¨gle de d¨¦couverte bas niveau

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
       }

Utilisation d'un filtre

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
       }

Utilisation d'un filtre d'expression personnalis¨¦

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
       }

Utilisation de champs de requ¨ºte et d'en-t¨ºtes personnalis¨¦s

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
       }

Voir ¨¦galement

Source

CDiscoveryRule::create() dans frontends/php/include/classes/api/services/CDiscoveryRule.php.