discoveryrule.get

Apraksts

integer/array discoveryrule.get(object parameters)

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

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

Parametri

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

Metode atbalsta šādus parametrus.

Parametrs Tips Apraksts
itemids ID/array Atgriezt tikai LLD kārtulas ar norādītajiem ID.
groupids ID/array Atgriezt tikai LLD kārtulas, kas pieder hostiem no norādītajām grupām.
hostids ID/array Atgriezt tikai LLD kārtulas, kas pieder norādītajiem hostiem.
inherited boolean Ja iestatīts uz true, atgriezt tikai no veidnes mantotās LLD kārtulas.
interfaceids ID/array Atgriezt tikai LLD kārtulas, kas izmanto norādītās hosta saskarnes.
monitored boolean Ja iestatīts uz true, atgriezt tikai iespējotās LLD kārtulas, kas pieder uzraudzītiem hostiem.
templated boolean Ja iestatīts uz true, atgriezt tikai LLD kārtulas, kas pieder veidnēm.
templateids ID/array Atgriezt tikai LLD kārtulas, kas pieder norādītajām veidnēm.
selectDiscoveryData query Atgriezt discoveryData īpašību ar LLD kārtulas atklāšanas objekta datiem. LLD kārtulas atklāšanas objekts sasaista atklātu LLD kārtulu ar LLD kārtulas prototipu, no kura tā tika atklāta.
selectDiscoveryRulePrototypes query Atgriezt discoveryRulePrototypes īpašību ar LLD kārtulu prototipiem, kas pieder LLD kārtulai.

Atbalsta count.
selectFilter query Atgriezt filter īpašību ar LLD kārtulas izmantotā filtra datiem.
selectGraphs query Atgriež graphs īpašību ar grafiku prototipiem, kas pieder LLD kārtulai.

Atbalsta count.
selectHostPrototypes query Atgriezt hostPrototypes īpašību ar hostu prototipiem, kas pieder LLD kārtulai.

Atbalsta count.
selectHosts query Atgriezt hosts īpašību ar hostu masīvu, kuriem pieder LLD kārtula.
selectItems query Atgriezt items īpašību ar vienumu prototipiem, kas pieder LLD kārtulai.

Atbalsta count.
selectTriggers query Atgriezt triggers īpašību ar trigeru prototipiem, kas pieder LLD kārtulai.

Atbalsta count.
selectLLDMacroPaths query Atgriezt lld_macro_paths īpašību ar LLD makrosu sarakstu un ceļiem uz vērtībām, kas piešķirtas katram atbilstošajam makrosam.
selectPreprocessing query Atgriezt preprocessing īpašību ar LLD kārtulas priekšapstrādes opcijām.
selectOverrides query Atgriezt lld_rule_overrides īpašību ar ignorēšanas filtru, nosacījumu un darbību sarakstu, kas tiek izpildītas ar prototipu objektiem.
filter object Atgriezt 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 salīdzināšanai.

Neatbalsta text datu tipa īpašības.

Atbalsta papildu īpašības:
host - hosta tehniskais nosaukums, kuram pieder LLD kārtula.
limitSelects integer Ierobežo apakšatlases vaicājumos atgriezto ierakstu skaitu.

Attiecas uz šādiem apakšatlases vaicājumiem: selectItems, selectGraphs, selectTriggers.
sortfield string/array Kārtot 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 atsauces komentārā.
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 šīm vērtībām:

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

Piemēri

Atklāšanas kārtulu izgūšana no hosta

Izgūst visas atklāšanas kārtulas norādītajam 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": "Tīkla saskarņu atklāšana",
            "key_": "net.if.discovery",
            "delay": "1h",
            "status": "0",
            "trapper_hosts": "",
            "templateid": "22444",
            "valuemapid": "0",
            "params": "",
            "ipmi_sensor": "",
            "authtype": "0",
            "username": "",
            "password": "",
            "publickey": "",
            "privatekey": "",
            "flags": "1",
            "interfaceid": "119",
            "description": "Tīkla saskarņu atklāšana, kā noteikts 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",
            "output_format": "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": "Piemontēto failu sistēmu atklāšana",
            "key_": "vfs.fs.discovery",
            "delay": "1h",
            "status": "0",
            "trapper_hosts": "",
            "templateid": "22450",
            "valuemapid": "0",
            "params": "",
            "ipmi_sensor": "",
            "authtype": "0",
            "username": "",
            "password": "",
            "publickey": "",
            "privatekey": "",
            "flags": "1",
            "interfaceid": "119",
            "description": "Dažādu tipu failu sistēmu atklāšana, kā noteikts 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",
            "output_format": "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

Izgūstiet LLD kārtulas "24681" nosaukumu un tās filtra nosacījumus. Filtrs izmanto "and" novē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
}

Iegūt LLD kārtulu pēc URL

Iegūt hosta LLD kārtulu pēc kārtulas URL lauka vērtības. Tiek atbalstīta tikai precīza LLD kārtulai 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": "",
            "flags": "1",
            "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",
            "output_format": "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
}

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() failā ui/include/classes/api/services/CDiscoveryRule.php.