discoveryrule.get

Beschreibung

integer/array discoveryrule.get(object parameters)

Die Methode ermöglicht das Abrufen von LLD-Regeln entsprechend den angegebenen Parametern.

Diese Methode ist für Benutzer aller Typen verfügbar. Die Berechtigung zum Aufruf der Methode kann in den Einstellungen der Benutzerrolle widerrufen werden. Siehe Benutzerrollen für weitere Informationen.

Parameter

(object) Parameter, die die gewünschte Ausgabe definieren.

Die Methode unterstützt die folgenden Parameter.

Parameter Typ Beschreibung
itemids ID/array Nur LLD-Regeln mit den angegebenen IDs zurückgeben.
groupids ID/array Nur LLD-Regeln zurückgeben, die zu den Hosts aus den angegebenen Gruppen gehören.
hostids ID/array Nur LLD-Regeln zurückgeben, die zu den angegebenen Hosts gehören.
inherited boolean Wenn auf true gesetzt, nur von einer Vorlage geerbte LLD-Regeln zurückgeben.
interfaceids ID/array Nur LLD-Regeln zurückgeben, die die angegebenen Host-Schnittstellen verwenden.
monitored boolean Wenn auf true gesetzt, nur aktivierte LLD-Regeln zurückgeben, die zu überwachten Hosts gehören.
templated boolean Wenn auf true gesetzt, nur LLD-Regeln zurückgeben, die zu Vorlagen gehören.
templateids ID/array Nur LLD-Regeln zurückgeben, die zu den angegebenen Vorlagen gehören.
selectFilter query Eine Eigenschaft filter mit Daten des von der LLD-Regel verwendeten Filters zurückgeben.
selectGraphs query Gibt eine Eigenschaft graphs mit Diagrammvorlagen zurück, die zur LLD-Regel gehören.

Unterstützt count.
selectHostPrototypes query Eine Eigenschaft hostPrototypes mit Hostvorlagen zurückgeben, die zur LLD-Regel gehören.

Unterstützt count.
selectHosts query Eine Eigenschaft hosts mit einem Array von Hosts zurückgeben, zu denen die LLD-Regel gehört.
selectItems query Eine Eigenschaft items mit Datenpunktvorlagen zurückgeben, die zur LLD-Regel gehören.

Unterstützt count.
selectTriggers query Eine Eigenschaft triggers mit Auslöservorlagen zurückgeben, die zur LLD-Regel gehören.

Unterstützt count.
selectLLDMacroPaths query Eine Eigenschaft lld_macro_paths mit einer Liste von LLD-Makros und Pfaden zu Werten zurückgeben, die jedem entsprechenden Makro zugewiesen sind.
selectPreprocessing query Eine Eigenschaft preprocessing mit Vorverarbeitungsoptionen der LLD-Regel zurückgeben.
selectOverrides query Eine Eigenschaft lld_rule_overrides mit einer Liste von Überschreibungsfiltern, Bedingungen und Operationen zurückgeben, die auf Vorlagenobjekte angewendet werden.
filter object Nur Ergebnisse zurückgeben, die genau dem angegebenen Filter entsprechen.

Akzeptiert ein Objekt, bei dem die Schlüssel Eigenschaftsnamen sind und die Werte entweder ein einzelner Wert oder ein Array von Werten sind, mit denen verglichen werden soll.

Unterstützt keine Eigenschaften vom Datentyp text.

Unterstützt zusätzliche Eigenschaften:
host - technischer Name des Hosts, zu dem die LLD-Regel gehört.
limitSelects integer Begrenzt die Anzahl der von Unterabfragen zurückgegebenen Datensätze.

Gilt für die folgenden Unterabfragen: selectItems, selectGraphs, selectTriggers.
sortfield string/array Das Ergebnis nach den angegebenen Eigenschaften sortieren.

Mögliche Werte: itemid, name, key_, delay, type, status.
countOutput boolean Diese Parameter werden in den Referenzkommentaren beschrieben.
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Rückgabewerte

(integer/array) Gibt entweder zurück:

  • ein Array von Objekten;
  • die Anzahl der abgerufenen Objekte, wenn der Parameter countOutput verwendet wurde.

Beispiele

Abrufen von Erkennungsregeln von einem Host

Rufen Sie alle Erkennungsregeln für eine bestimmte Host-ID ab.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "discoveryrule.get",
    "params": {
        "output": "extend",
        "hostids": "10202"
    },
    "id": 1
}

Antwort:

{
    "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": "Erkennung von Netzwerkschnittstellen, wie in der globalen regulären Ausdrucksdefinition \"Network interfaces for discovery\" festgelegt.",
            "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": "Erkennung von Dateisystemen unterschiedlicher Typen, wie in der globalen regulären Ausdrucksdefinition \"File systems for discovery\" festgelegt.",
            "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
}

Abrufen von Filterbedingungen

Rufen Sie den Namen der LLD-Regel "24681" und ihre Filterbedingungen ab. Der Filter verwendet den Auswertungstyp "and", daher ist die Eigenschaft formula leer und eval_formula wird automatisch generiert.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "discoveryrule.get",
    "params": {
        "output": ["name"],
        "selectFilter": "extend",
        "itemids": ["24681"]
    },
    "id": 1
}

Antwort:

{
    "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-Regel per URL abrufen

LLD-Regel für einen Host anhand des Werts des URL-Felds der Regel abrufen. Es wird nur die exakte Übereinstimmung der für die LLD-Regel definierten URL-Zeichenfolge unterstützt.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "discoveryrule.get",
    "params": {
        "hostids": "10257",
        "filter": {
            "type": 19,
            "url": "http://127.0.0.1/discoverer.php"
        }
    },
    "id": 1
}

Antwort:

{
    "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-Regel mit Überschreibungen abrufen

Rufen Sie eine LLD-Regel ab, die verschiedene Überschreibungseinstellungen hat.

Anfrage:

{
    "jsonrpc": "2.0",
    "method": "discoveryrule.get",
    "params": {
        "output": ["name"],
        "itemids": "30980",
        "selectOverrides": ["name", "step", "stop", "filter", "operations"]
    },
    "id": 1
}

Antwort:

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

Siehe auch

Quelle

CDiscoveryRule::get() in ui/include/classes/api/services/CDiscoveryRule.php.