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 правила која припадају датим шаблонима.
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 data type.

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

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

Могуће вредности: itemid, name, key_, delay, type, status.

|countOutput|boolean|Ови параметри који су заједнички за све методе get су детаљно описани у [reference commentary] (/manual/api/reference_commentary#common_get_method_parameters).| |editable|boolean|^| |excludeSearch|boolean|^| |limit|integer|^| |output|query|^| |preservekeys|boolean|^| |search|object|^| |searchByAny|boolean|^| |searchWildcardsEnabled|boolean|^| |sortorder|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.