discoveryrule.get
Apraksts
integer/array discoveryrule.get(object parameters)
Šī metode ļauj izgūt LLD kārtulas atbilstoši norādītajiem parametriem.
Šī metode ir pieejama jebkura tipa lietotājiem. Atļaujas izsaukt šo metodi var atsaukt lietotāja lomas iestatījumos. Plašāku informāciju skatiet sadaļā Lietotāju lomas.
Parametri
(object) Parametri, kas nosaka vēlamo izvadi.
Metode atbalsta šādus parametrus.
| Parametrs | Tips | Apraksts |
|---|---|---|
| itemids | ID/array | Atgriezt tikai LLD kārtulas ar norādītajiem ID. |
| groupids | ID/array | Atgriezt tikai LLD kārtulas, kas pieder hostiem no norādītajām grupām. |
| hostids | ID/array | Atgriezt tikai LLD kārtulas, kas pieder norādītajiem hostiem. |
| inherited | boolean | Ja iestatīts uz true, atgriezt tikai no veidnes mantotās LLD kārtulas. |
| interfaceids | ID/array | Atgriezt tikai LLD kārtulas, kas izmanto norādītās hosta saskarnes. |
| monitored | boolean | Ja iestatīts uz true, atgriezt tikai iespējotās LLD kārtulas, kas pieder uzraudzītiem hostiem. |
| templated | boolean | Ja iestatīts uz true, atgriezt tikai LLD kārtulas, kas pieder veidnēm. |
| templateids | ID/array | Atgriezt tikai LLD kārtulas, kas pieder norādītajām veidnēm. |
| selectDiscoveryData | query | Atgriezt discoveryData īpašību ar LLD kārtulas atklāšanas objekta datiem. LLD kārtulas atklāšanas objekts sasaista atklātu LLD kārtulu ar LLD kārtulas prototipu, no kura tā tika atklāta. |
| selectDiscoveryRulePrototypes | query | Atgriezt discoveryRulePrototypes īpašību ar LLD kārtulu prototipiem, kas pieder LLD kārtulai.Atbalsta count. |
| selectFilter | query | Atgriezt filter īpašību ar LLD kārtulas izmantotā filtra datiem. |
| selectGraphs | query | Atgriež graphs īpašību ar grafiku prototipiem, kas pieder LLD kārtulai.Atbalsta count. |
| selectHostPrototypes | query | Atgriezt hostPrototypes īpašību ar hostu prototipiem, kas pieder LLD kārtulai.Atbalsta count. |
| selectHosts | query | Atgriezt hosts īpašību ar hostu masīvu, kuriem pieder LLD kārtula. |
| selectItems | query | Atgriezt items īpašību ar vienumu prototipiem, kas pieder LLD kārtulai.Atbalsta count. |
| selectTriggers | query | Atgriezt triggers īpašību ar trigeru prototipiem, kas pieder LLD kārtulai.Atbalsta count. |
| selectLLDMacroPaths | query | Atgriezt lld_macro_paths īpašību ar LLD makrosu sarakstu un ceļiem uz vērtībām, kas piešķirtas katram atbilstošajam makrosam. |
| selectPreprocessing | query | Atgriezt preprocessing īpašību ar LLD kārtulas priekšapstrādes opcijām. |
| selectOverrides | query | Atgriezt lld_rule_overrides īpašību ar ignorēšanas filtru, nosacījumu un darbību sarakstu, kas tiek izpildītas ar prototipu objektiem. |
| filter | object | Atgriezt 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 salīdzināšanai. Neatbalsta text datu tipa īpašības.Atbalsta papildu īpašības: host - hosta tehniskais nosaukums, kuram pieder LLD kārtula. |
| limitSelects | integer | Ierobežo apakšatlases vaicājumos atgriezto ierakstu skaitu. Attiecas uz šādiem apakšatlases vaicājumiem: selectItems, selectGraphs, selectTriggers. |
| sortfield | string/array | Kārtot 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 atsauces komentārā. |
| 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 šīm vērtībām:
- objektu masīvu
- iegūto objektu skaitu, ja ir izmantots parametrs
countOutput.
Piemēri
Atklāšanas kārtulu izgūšana no hosta
Izgūst visas atklāšanas kārtulas norādītajam 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": "Tīkla saskarņu atklāšana",
"key_": "net.if.discovery",
"delay": "1h",
"status": "0",
"trapper_hosts": "",
"templateid": "22444",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"flags": "1",
"interfaceid": "119",
"description": "Tīkla saskarņu atklāšana, kā noteikts 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",
"output_format": "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": "Piemontēto failu sistēmu atklāšana",
"key_": "vfs.fs.discovery",
"delay": "1h",
"status": "0",
"trapper_hosts": "",
"templateid": "22450",
"valuemapid": "0",
"params": "",
"ipmi_sensor": "",
"authtype": "0",
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"flags": "1",
"interfaceid": "119",
"description": "Dažādu tipu failu sistēmu atklāšana, kā noteikts 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",
"output_format": "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
Izgūstiet LLD kārtulas "24681" nosaukumu un tās filtra nosacījumus.
Filtrs izmanto "and" novē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
}
Iegūt LLD kārtulu pēc URL
Iegūt hosta LLD kārtulu pēc kārtulas URL lauka vērtības. Tiek atbalstīta tikai precīza LLD kārtulai 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": "",
"flags": "1",
"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",
"output_format": "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
}
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() failā ui/include/classes/api/services/CDiscoveryRule.php.