Áú»¢¶Ä²©

discoveryrule.create

¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®

object discoveryrule.create(array lldRuleIds)

Aquest m¨¨tode permet crear noves regles LLD.

Tenim aquest m¨¨tode disponible nom¨¦s per als usuaris Admin i Super admin. Els permisos per cridar el m¨¨tode es poden revocar a la configuraci¨® dels rols d'usuari. Per a m¨¦s informaci¨®, veieu Rols d'usuari.

±Ê²¹°ù¨¤³¾±ð³Ù°ù±ð²õ

(object/array) Regles de descoberta de baix nivell a crear.

A m¨¦s de les propietats de l'objecte regla de descoberta de baix nivell est¨¤ndard, el m¨¨tode admet els par¨¤metres seg¨¹ents.

±Ê²¹°ù¨¤³¾±ð³Ù°ù±ð Tipus ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®
filter object Filtre de la regla LLD.
preprocessing object/array Opcions de la regla LLD de pretractament.
lld_macro_paths object/array Opcions lld_macro_path de la regla LLD.
overrides object/array Opcions del reempla?ament de la regla LLD.

Valors de retorn

(object) Retorna un objecte amb els IDs de les regles LLD creades segons la propietat itemids. L'ordre dels IDs retornats correspon a l'ordre de les regles LLD donades.

Exemples

Crear una regla LLD

Crear una regla de descoberta de baix nivell per descobrir els sistemes d'arxius muntats. Els objectes descoberts seran actualitzats cada 30 segons.

±Ê±ð³Ù¾±³¦¾±¨®:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.create",
           "params": {
               "name": "Descoberta de sistemes d'arxius muntats",
               "key_": "vfs.fs.discovery",
               "hostid": "10197",
               "type": 0,
               "interfaceid": "112",
               "delay": "30s"
           },
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "27665"
               ]
           },
           "id": 1
       }

Emprant un filtre

Crear una regla de descoberta de baix nivell amb un conjunt de condicions per filtrar els resultats. Les condicions seran reagrupades emprant l'operador l¨°gic "i".

±Ê±ð³Ù¾±³¦¾±¨®:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.create",
           "params": {
               "name": "Regla LLD filtrada",
               "key_": "lld",
               "hostid": "10116",
               "type": 0,
               "interfaceid": "13",
               "delay": "30s",
               "filter": {
                   "evaltype": 1,
                   "conditions": [
                       {
                           "macro": "{#MACRO1}",
                           "value": "@regex1"
                       },
                       {
                           "macro": "{#MACRO2}",
                           "value": "@regex2",
                           "operator": "9"
                       },
                       {
                           "macro": "{#MACRO3}",
                           "value": "",
                           "operator": "12"
                       },
                       {
                           "macro": "{#MACRO4}",
                           "value": "",
                           "operator": "13"
                       }
                   ]
               }
           },
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "27665"
               ]
           },
           "id": 1
       }

Crear una regla LLD amb rutes de macros

±Ê±ð³Ù¾±³¦¾±¨®:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.create",
           "params": {
               "name": "LLD rule with LLD macro paths",
               "key_": "lld",
               "hostid": "10116",
               "type": 0,
               "interfaceid": "13",
               "delay": "30s",
               "lld_macro_paths": [
                   {
                       "lld_macro": "{#MACRO1}",
                       "path": "$.path.1"
                   },
                   {
                       "lld_macro": "{#MACRO2}",
                       "path": "$.path.2"
                   }
               ]
           },
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "27665"
               ]
           },
           "id": 1
       }

Emprant un filtre d'expressi¨® a mida

Crear una regla de descoberta de baix nivell (LLD) amb un filtre que emprar¨¤ una expressi¨® a mida per avaluar les condicions. La regla haur¨¤ de trobar nom¨¦s els objectes de la macro "{#MACRO1}" que corresponguin a l'expressi¨® regular "regex1" i "regex2", i el valor de la "{#MACRO2}" correspongui a "regex3" o "regex4". Els ID de f¨®rmules "A", "B", "C" i "D" s'escolliran arbitr¨¤riament.

±Ê±ð³Ù¾±³¦¾±¨®:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.create",
           "params": {
               "name": "Regla LLD filtrada ",
               "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"
                       }
                   ]
               }
           },
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "27665"
               ]
           },
           "id": 1
       }

emprant camps de consulta i cap?aleres personalitzades

Crea una regla de descoberta de baix nivell (LLD) amb camps de consulta i de cap?alera a mida.

±Ê±ð³Ù¾±³¦¾±¨®:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.create",
           "params": {
               "hostid": "10257",
               "interfaceid": "5",
               "type": 19,
               "name": "API HTTP agent",
               "key_": "api_discovery_rule",
               "delay": "5s",
               "url": "http://127.0.0.1?discoverer.php",
               "query_fields": [
                   {
                       "name": "mode",
                       "value": "json"
                   },
                   {
                       "name": "elements",
                       "value": "2"
                   }
               ],
               "headers": [
                   {
                       "name": "X-Type",
                       "value": "api"
                   },
                   {
                       "name": "Authorization",
                       "value": "Bearer mF_A.B5f-2.1JcM"
                   }
               ],
               "allow_traps": 1,
               "trapper_hosts": "127.0.0.1"
           },
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "28336"
               ]
           },
           "id": 1
       }

Crear una regla LLD amb preprocessament

±Ê±ð³Ù¾±³¦¾±¨®:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.create",
           "params": {
               "name": "Discovery rule with preprocessing",
               "key_": "lld.with.preprocessing",
               "hostid": "10001",
               "ruleid": "27665",
               "type": 0,
               "delay": "60s",
               "interfaceid": "1155",
               "preprocessing": [
                   {
                       "type": 20,
                       "params": "20",
                       "error_handler": 0,
                       "error_handler_params": ""
                   }
               ]
           },
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "44211"
               ]
           },
           "id": 1
       }

Crear una regla LLD amb substitucions

±Ê±ð³Ù¾±³¦¾±¨®:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.create",
           "params": {
               "name": "Discover database host",
               "key_": "lld.with.overrides",
               "hostid": "10001",
               "type": 0,
               "delay": "60s",
               "interfaceid": "1155",
               "overrides": [
                   {
                       "name": "Discover MySQL host",
                       "step": "1",
                       "stop": "1",
                       "filter": {
                           "evaltype": "2",
                           "conditions": [
                               {
                                   "macro": "{#UNIT.NAME}",
                                   "operator": "8",
                                   "value": "^mysqld\\.service$"
                               },
                               {
                                   "macro": "{#UNIT.NAME}",
                                   "operator": "8",
                                   "value": "^mariadb\\.service$"
                               }
                           ]
                       },
                       "operations": [
                           {
                               "operationobject": "3",
                               "operator": "2",
                               "value": "Database host",
                               "opstatus": {
                                   "status": "0"
                               },
                               "optemplate": [
                                   {
                                       "templateid": "10170"
                                   }
                               ],
                               "optag": [
                                   {
                                       "tag": "database",
                                       "value": "mysql"
                                   }
                               ]
                           }
                       ]
                   },
                   {
                       "name": "Discover PostgreSQL host",
                       "step": "2",
                       "stop": "1",
                       "filter": {
                           "evaltype": "0",
                           "conditions": [
                               {
                                   "macro": "{#UNIT.NAME}",
                                   "operator": "8",
                                   "value": "^postgresql\\.service$"
                               }
                           ]
                       },
                       "operations": [
                           {
                               "operationobject": "3",
                               "operator": "2",
                               "value": "Database host",
                               "opstatus": {
                                   "status": "0"
                               },
                               "optemplate": [
                                   {
                                       "templateid": "10263"
                                   }
                               ],
                               "optag": [
                                   {
                                       "tag": "database",
                                       "value": "postgresql"
                                   }
                               ]
                           }
                       ]
                   }
               ]
           },
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "30980"
               ]
           },
           "id": 1
       }

Creear una regla LLD script

Crear una recollida simple de dades merc¨¨s a una regla LLD script.

±Ê±ð³Ù¾±³¦¾±¨®:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.create",
           "params": {
               "name": "Script example",
               "key_": "custom.script.lldrule",
               "hostid": "12345",
               "type": 21,
               "params": "var request = new lHttpRequest();\nreturn request.post(\"https://postman-echo.com/post\", JSON.parse(value));",
               "parameters": [{
                       "name": "host",
                       "value": "{HOST.CONN}"
               }],
               "timeout": "6s",
               "delay": "30s"
           },
           "id": 4
       }

Resposta:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "23865"
               ]
           },
           "id": 4
       }

Creeu una regla LLD amb un per¨ªode de temps especificat per a la desactivaci¨® i sense supressi¨®

Creeu una regla LLD amb un per¨ªode de temps personalitzat per desactivar l'entitat despr¨¦s ja no es descobreix, amb l'escenari que no ser¨¤ mai esborrat.

±Ê±ð³Ù¾±³¦¾±¨®:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.create",
           "params": {
               "name": "lld disable after 1h",
               "key_": "lld.disable",
               "hostid": "10001",
               "type": 2,
               "lifetime_type": 1,
               "enabled_lifetime_type": 0, 
               "enabled_lifetime": "1h"
           },
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "46864"
               ]
           },
           "id": 1
       }

Veieu tamb¨¦

Font

CDiscoveryRule::create() in ui/include/classes/api/services/CDiscoveryRule.php.