- discoveryrule.create
- Descripció
- Paràmetres
- Valors de retorn
- Exemples
- Crear una regla LLD
- Emprant un filtre
- Crear una regla LLD amb rutes de macros
- Emprant un filtre d'expressió a mida
- emprant camps de consulta i capçaleres personalitzades
- Crear una regla LLD amb preprocessament
- Crear una regla LLD amb substitucions
- Creear una regla LLD script
- Creeu una regla LLD amb un període de temps especificat per a la desactivació i sense supressió
- Veieu també
- Font
discoveryrule.create
Descripció
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.
Paràmetres
(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.
| Paràmetre | Tipus | Descripció |
|---|---|---|
| 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".
Petició:
{
"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.