discoveryrule.get

Apraksts

integer/array discoveryrule.get(object parameters)

Šī metode ļauj izgūt LLD noteikumus atbilstoši norādītajiem parametriem.

Šī metode ir pieejama jebkura tipa lietotājiem. Tiesības izsaukt šo metodi var atsaukt lietotāja lomas iestatījumos. Plašāku informāciju skatiet sadaļā Lietotāju lomas.

Parametri

(object) Parametri, kas definē vēlamo izvadi.

Metode atbalsta šādus parametrus.

Parameter Type Description
itemids ID/array Atgriež tikai LLD noteikumus ar norādītajiem ID.
groupids ID/array Atgriež tikai LLD noteikumus, kas pieder hosts no norādītajām grupām.
hostids ID/array Atgriež tikai LLD noteikumus, kas pieder norādītajiem hosts.
inherited boolean Ja iestatīts uz true, atgriež tikai no veidnes mantotos LLD noteikumus.
interfaceids ID/array Atgriež tikai LLD noteikumus, kas izmanto norādītās host saskarnes.
monitored boolean Ja iestatīts uz true, atgriež tikai iespējotos LLD noteikumus, kas pieder uzraudzītiem hosts.
templated boolean Ja iestatīts uz true, atgriež tikai LLD noteikumus, kas pieder veidnēm.
templateids ID/array Atgriež tikai LLD noteikumus, kas pieder norādītajām veidnēm.
selectFilter query Atgriež filter īpašību ar datiem par filtru, ko izmanto LLD noteikums.
selectGraphs query Atgriež graphs īpašību ar grafiku prototipiem, kas pieder LLD noteikumam.

Atbalsta count.
selectHostPrototypes query Atgriež hostPrototypes īpašību ar host prototipiem, kas pieder LLD noteikumam.

Atbalsta count.
selectHosts query Atgriež hosts īpašību ar hosts masīvu, kuriem pieder LLD noteikums.
selectItems query Atgriež items īpašību ar vienumu prototipiem, kas pieder LLD noteikumam.

Atbalsta count.
selectTriggers query Atgriež triggers īpašību ar trigeru prototipiem, kas pieder LLD noteikumam.

Atbalsta count.
selectLLDMacroPaths query Atgriež lld_macro_paths īpašību ar LLD makro un ceļu sarakstu uz vērtībām, kas piešķirtas katram attiecīgajam makro.
selectPreprocessing query Atgriež preprocessing īpašību ar LLD noteikuma pirmapstrādes opcijām.
selectOverrides query Atgriež lld_rule_overrides īpašību ar pārrakstīšanas filtru, nosacījumu un darbību sarakstu, kas tiek veikti ar prototipu objektiem.
filter object Atgriež 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, ar ko salīdzināt.

Neatbalsta text datu tipa īpašības.

Atbalsta papildu īpašības:
host - host tehniskais nosaukums, kuram pieder LLD noteikums.
limitSelects integer Ierobežo ierakstu skaitu, ko atgriež apakšatlases.

Attiecas uz šādām apakšatlasēm: selectItems, selectGraphs, selectTriggers.
sortfield string/array Kārto 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 reference commentary.
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 šādiem:

  • objektu masīvu;
  • izgūto objektu skaitu, ja ir izmantots parametrs countOutput.

Piemēri

Atklāšanas noteikumu izgūšana no hosta

Izgūst visus atklāšanas noteikumus konkrētam hosta ID.

Pieprasījums:

{
    "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": "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": "Tīkla interfeisu atklāšana, kā definēts 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",
            "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": "Dažādu tipu failu sistēmu atklāšana, kā definēts 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",
            "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

Iegūstiet LLD noteikuma "24681" nosaukumu un tā filtra nosacījumus. Filtrs izmanto "and" izvērtēšanas tipu, tāpēc formula īpašība ir tukša un eval_formula tiek ģenerēta automātiski.

Pieprasījums:

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

LLD noteikuma izgūšana pēc URL

Izgūst LLD noteikumu hostam pēc noteikuma URL lauka vērtības. Tiek atbalstīta tikai precīza LLD noteikumam definētās URL virknes atbilstība.

Pieprasījums:

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

Iegūt LLD kārtulu ar ignorēšanas iestatījumiem

Iegūt vienu LLD kārtulu, kurai ir dažādi ignorēšanas iestatījumi.

Pieprasījums:

{
    "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() iekš ui/include/classes/api/services/CDiscoveryRule.php.