discoveryrule.get
Apraksts
integer/array discoveryrule.get(object parameters)
Šī metode ļauj izgūt LLD noteikumus atbilstoši norādītajiem parametriem.
Šī metode ir pieejama jebkura tipa lietotājiem. Tiesības izsaukt šo metodi var atsaukt lietotāja lomas iestatījumos. Plašāku informāciju skatiet sadaļā Lietotāju lomas.
Parametri
(object) Parametri, kas definē vēlamo izvadi.
Metode atbalsta šādus parametrus.
| Parameter | Type | Description |
|---|---|---|
| itemids | ID/array | Atgriež tikai LLD noteikumus ar norādītajiem ID. |
| groupids | ID/array | Atgriež tikai LLD noteikumus, kas pieder hosts no norādītajām grupām. |
| hostids | ID/array | Atgriež tikai LLD noteikumus, kas pieder norādītajiem hosts. |
| inherited | boolean | Ja iestatīts uz true, atgriež tikai no veidnes mantotos LLD noteikumus. |
| interfaceids | ID/array | Atgriež tikai LLD noteikumus, kas izmanto norādītās host saskarnes. |
| monitored | boolean | Ja iestatīts uz true, atgriež tikai iespējotos LLD noteikumus, kas pieder uzraudzītiem hosts. |
| templated | boolean | Ja iestatīts uz true, atgriež tikai LLD noteikumus, kas pieder veidnēm. |
| templateids | ID/array | Atgriež tikai LLD noteikumus, kas pieder norādītajām veidnēm. |
| selectFilter | query | Atgriež filter īpašību ar datiem par filtru, ko izmanto LLD noteikums. |
| selectGraphs | query | Atgriež graphs īpašību ar grafiku prototipiem, kas pieder LLD noteikumam.Atbalsta count. |
| selectHostPrototypes | query | Atgriež hostPrototypes īpašību ar host prototipiem, kas pieder LLD noteikumam.Atbalsta count. |
| selectHosts | query | Atgriež hosts īpašību ar hosts masīvu, kuriem pieder LLD noteikums. |
| selectItems | query | Atgriež items īpašību ar vienumu prototipiem, kas pieder LLD noteikumam.Atbalsta count. |
| selectTriggers | query | Atgriež triggers īpašību ar trigeru prototipiem, kas pieder LLD noteikumam.Atbalsta count. |
| selectLLDMacroPaths | query | Atgriež lld_macro_paths īpašību ar LLD makro un ceļu sarakstu uz vērtībām, kas piešķirtas katram attiecīgajam makro. |
| selectPreprocessing | query | Atgriež preprocessing īpašību ar LLD noteikuma pirmapstrādes opcijām. |
| selectOverrides | query | Atgriež lld_rule_overrides īpašību ar pārrakstīšanas filtru, nosacījumu un darbību sarakstu, kas tiek veikti ar prototipu objektiem. |
| filter | object | Atgriež tikai tos rezultātus, kas precīzi atbilst norādītajam filtram. Pieņem objektu, kur atslēgas ir īpašību nosaukumi, bet vērtības ir vai nu viena vērtība, vai vērtību masīvs, ar ko salīdzināt. Neatbalsta text datu tipa īpašības.Atbalsta papildu īpašības: host - host tehniskais nosaukums, kuram pieder LLD noteikums. |
| limitSelects | integer | Ierobežo ierakstu skaitu, ko atgriež apakšatlases. Attiecas uz šādām apakšatlasēm: selectItems, selectGraphs, selectTriggers. |
| sortfield | string/array | Kārto rezultātu pēc norādītajām īpašībām. Iespējamās vērtības: itemid, name, key_, delay, type, status. |
| countOutput | boolean | Šie parametri ir aprakstīti reference commentary. |
| editable | boolean | |
| excludeSearch | boolean | |
| limit | integer | |
| output | query | |
| preservekeys | boolean | |
| search | object | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean |
Atgrieztās vērtības
(integer/array) Atgriež vienu no šādiem:
- objektu masīvu;
- izgūto objektu skaitu, ja ir izmantots parametrs
countOutput.
Piemēri
Atklāšanas noteikumu izgūšana no hosta
Izgūst visus atklāšanas noteikumus konkrētam hosta ID.
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": "extend",
"hostids": "10202"
},
"id": 1
}
Atbilde:
{
"jsonrpc": "2.0",
"result": [
{
"itemid": "27425",
"type": "0",
"snmp_oid": "",
"hostid": "10202",
"name": "Network interface discovery",
"key_": "net.if.discovery",
"delay": "1h",
"status": "0",
"trapper_hosts": "",
"templateid": "22444",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"interfaceid": "119",
"description": "Tīkla interfeisu atklāšana, kā definēts globālajā regulārajā izteiksmē \"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",
"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": "Mounted filesystem discovery",
"key_": "vfs.fs.discovery",
"delay": "1h",
"status": "0",
"trapper_hosts": "",
"templateid": "22450",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"interfaceid": "119",
"description": "Dažādu tipu failu sistēmu atklāšana, kā definēts globālajā regulārajā izteiksmē \"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",
"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
}
Filtra nosacījumu izgūšana
Iegūstiet LLD noteikuma "24681" nosaukumu un tā filtra nosacījumus. Filtrs izmanto "and" izvērtēšanas tipu, tāpēc formula īpašība ir tukša un eval_formula tiek ģenerēta automātiski.
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": ["name"],
"selectFilter": "extend",
"itemids": ["24681"]
},
"id": 1
}
Atbilde:
{
"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
}
LLD noteikuma izgūšana pēc URL
Izgūst LLD noteikumu hostam pēc noteikuma URL lauka vērtības. Tiek atbalstīta tikai precīza LLD noteikumam definētās URL virknes atbilstība.
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"hostids": "10257",
"filter": {
"type": 19,
"url": "http://127.0.0.1/discoverer.php"
}
},
"id": 1
}
Atbilde:
{
"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": "",
"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",
"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
}
Iegūt LLD kārtulu ar ignorēšanas iestatījumiem
Iegūt vienu LLD kārtulu, kurai ir dažādi ignorēšanas iestatījumi.
{
"jsonrpc": "2.0",
"method": "discoveryrule.get",
"params": {
"output": ["name"],
"itemids": "30980",
"selectOverrides": ["name", "step", "stop", "filter", "operations"]
},
"id": 1
}
Atbilde:
{
"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
}
Skatiet arī
Avots
CDiscoveryRule::get() iekš ui/include/classes/api/services/CDiscoveryRule.php.