This is a translation of the original English documentation page. Help us make it better.

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 тип података.

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

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

Могуће вредности: itemid, name, key_, delay, type, status.
countOutput boolean Ови параметри су описани у [референтном коментару]
(/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.