discoveryrule.get

Опис

integer/array discoveryrule.get(object parameters)

Ова метода омогућава преузимање LLD правила у складу са задатим параметрима.

Ова метода је доступна корисницима било ког типа. Дозволе за позивање методе могу бити одузете у подешавањима улога корисника. Погледајте User roles за више информација.

Параметри

(object) Параметри који дефинишу жељени излаз.

Метода подржава следеће параметре.

Parameter Type Description
itemids ID/array Враћа само LLD правила са датим ID-овима.
groupids ID/array Враћа само LLD правила која припадају домаћинима из датих група.
hostids ID/array Враћа само LLD правила која припадају датим домаћинима.
inherited boolean Ако је подешено на true враћа само LLD правила наслеђена из шаблона.
interfaceids ID/array Враћа само LLD правила која користе дате интерфејсе домаћина.
monitored boolean Ако је подешено на true враћа само омогућена LLD правила која припадају праћеним домаћинима.
templated boolean Ако је подешено на true, врати само LLD правила која припадају шаблонима.
templateids ID/array Врати само LLD правила која припадају датим шаблонима.
selectDiscoveryData query Врати својство discoveryData са подацима објекта за откривање LLD правила. Објекат за откривање LLD правила повезује откривено LLD правило са прототипом LLD правила из којег је откривено.
selectDiscoveryRulePrototypes query Врати својство discoveryRulePrototypes са прототиповима LLD правила који припадају LLD правилу.

Подржава count.
selectFilter query Врати својство filter са подацима филтера који користи LLD правило.
selectGraphs query Враћа својство graphs са прототиповима графова који припадају LLD правилу.

Подржава count.
selectHostPrototypes query Враћа својство hostPrototypes са прототиповима домаћина који припадају LLD правилу.

Подржава count.
selectHosts query Враћа својство hosts са низом хостова којима LLD правило припада.
selectItems query Враћа својство items са прототиповима ставки који припадају LLD правилу.

Подржава count.
selectTriggers query Враћа својство triggers са прототиповима окидача који припадају LLD правилу.

Подржава count.
selectLLDMacroPaths query Враћа својство lld_macro_paths са листом LLD макроа и путања до вредности додељених сваком одговарајућем макроу.
selectPreprocessing query Враћа својство preprocessing са опцијама за претходну обраду LLD правила.
selectOverrides query Враћа својство lld_rule_overrides са листом филтера за надјачавање, услова и операција које се извршавају на прототиповима објеката.
filter object Враћа само оне резултате који се тачно подударају са датим филтером.

Прихвата објекат, где су кључеви имена својстава, а вредности су или једна вредност или низ вредности за упоређивање.

Не подржава својства text тип података.

Подржава додатна својства:
host - технички назив домаћина којем припада LLD правило.
limitSelects integer Ограничава број записа које враћају подизбори.

Односи се на следеће подизборе: selectItems, selectGraphs, selectTriggers.
sortfield string/array Сортира резултат по датим својствима.

Могуће вредности: itemid, name, key_, delay, type, status.
countOutput boolean Ови параметри су описани у референтном коментару.
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sorting order string/array
startSearch boolean

Повратне вредности

(integer/array) Враћа било:

  • низ објеката;
  • број преузетих објеката, ако је параметар countOutput коришћен.

Примери

Преузимање правила откривања са домаћина

Преузми сва правила откривања за одређени ID домаћина.

Request:

{
             "jsonrpc": "2.0",
             "method": "discoveryrule.get",
             "params": {
             "output": "extend",
             "hostids": "10202"
             },
             "id": 1
       }

Одговор:

{
            "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": "Discovery of network interfaces as defined in global regular expression \"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": "Discovery of file systems of different types as defined in global regular expression \"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
       }

Преузимање услова филтера

Преузми назив LLD правила "24681" и његове услове филтера. Филтер користи тип евалуације "and", тако да је својство formula празно, а eval_formula се генерише аутоматски.

Request:

{
            "jsonrpc": "2.0",
            "method": "discoveryrule.get",
            "params": {
            "output": ["name"],
            "selectFilter": "extend",
            "itemids": ["24681"]
            },
            "id": 1
       }

Одговор:

{
            "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 правило према URL-у

Преузми LLD правило за домаћина према вредности поља URL правила. Подржано је само тачно подударање URL стринга дефинисаног за LLD правило.

Request:

{
            "jsonrpc": "2.0",
            "method": "discoveryrule.get",
            "params": {
            "hostids": "10257",
            "filter": {
            "type": 19,
            "url": "http://127.0.0.1/discoverer.php"
            }
            },
            "id": 1
       }

Одговор:

{
            "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
       }

Преузми LLD правило са заменама

Преузми једно LLD правило које има различита подешавања замене.

Request:

{
            "jsonrpc": "2.0",
            "method": "discoveryrule.get",
            "params": {
            "output": ["name"],
            "itemids": "30980",
            "selectOverrides": ["name", "step", "stop", "filter", "operations"]
            },
            "id": 1
       }

Одговор:

{
            "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
       }

###Такође погледајте

-Graph prototype -Host -Item prototype -LLD rule filter -Trigger prototype

Извор

CDiscoveryRule::get() у ui/include/classes/api/services/CDiscoveryRule.php.