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|Ови параметри су описани у [референтном коментару] (/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.