discoveryrule.get

Descripción

integer/array discoveryrule.get(object parameters)

El método permite recuperar reglas LLD de acuerdo con los parámetros suministrados.

Este método está disponible para usuarios de cualquier tipo. Los permisos para llamar al método se pueden revocar en la configuración de roles de usuario. Ver Roles de usuario para más información.

Parámetros

(object) Parámetros que definen la salida deseada.

El método admite los siguientes parámetros.

Parámetro Tipo Descripción
itemids ID/array Devolver solo las reglas LLD con los IDs dados.
groupids ID/array Devolver solo las reglas LLD que pertenecen a los hosts de los grupos dados.
hostids ID/array Devolver solo las reglas LLD que pertenecen a los hosts dados.
inherited boolean Si se establece en true, devolver solo las reglas LLD heredadas de un template.
interfaceids ID/array Devolver solo las reglas LLD que usan las interfaces de host dadas.
monitored boolean Si se establece en true, devolver solo las reglas LLD habilitadas que pertenecen a hosts monitorizados.
templated boolean Si se establece en true, devolver solo las reglas LLD que pertenecen a templates.
templateids ID/array Devolver solo las reglas LLD que pertenecen a los templates dados.
selectDiscoveryData query Devolver una propiedad discoveryData con los datos del objeto de descubrimiento de la regla LLD. El objeto de descubrimiento de la regla LLD vincula una regla LLD descubierta a una regla LLD prototipo de la que fue descubierta.
selectDiscoveryRulePrototypes query Devolver una propiedad discoveryRulePrototypes con las reglas LLD prototipo que pertenecen a la regla LLD.

Admite count.
selectFilter query Devolver una propiedad filter con los datos del filtro utilizado por la regla LLD.
selectGraphs query Devolver una propiedad graphs con los gráficos prototipo que pertenecen a la regla LLD.

Admite count.
selectHostPrototypes query Devolver una propiedad hostPrototypes con los hosts prototipo que pertenecen a la regla LLD.

Admite count.
selectHosts query Devolver una propiedad hosts con un array de hosts a los que pertenece la regla LLD.
selectItems query Devolver una propiedad items con los items prototipo que pertenecen a la regla LLD.

Admite count.
selectTriggers query Devolver una propiedad triggers con los triggers prototipo que pertenecen a la regla LLD.

Admite count.
selectLLDMacroPaths query Devolver una propiedad lld_macro_paths con una lista de macros LLD y rutas a los valores asignados a cada macro correspondiente.
selectPreprocessing query Devolver una propiedad preprocessing con las opciones de preprocesamiento de la regla LLD.
selectOverrides query Devolver una propiedad lld_rule_overrides con una lista de filtros de override, condiciones y operaciones que se realizan sobre los objetos prototipo.
filter object Devolver solo aquellos resultados que coincidan exactamente con el filtro dado.

Acepta un objeto, donde las claves son nombres de propiedades y los valores son un único valor o un array de valores con los que comparar.

No admite propiedades del tipo de dato text data type.

Admite propiedades adicionales:
host - nombre técnico del host al que pertenece la regla LLD.
limitSelects integer Limita el número de registros devueltos por subconsultas.

Se aplica a las siguientes subconsultas: selectItems, selectGraphs, selectTriggers.
sortfield string/array Ordenar el resultado por las propiedades dadas.

Valores posibles: itemid, name, key_, delay, type, status.
countOutput boolean Estos parámetros se describen en el comentario de referencia.
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Valores de retorno

(entero/matriz) Devuelve:

  • una matriz de objetos;
  • el recuento de objetos recuperados, si el parámetro countOutput ha sido usado.

Ejemplos

Recuperar reglas de descubrimiento de un equipo

Recupere todas las reglas de descubrimiento para una ID de equipo específica.

Solicitud:

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

Respuesta:

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

Recuperando condiciones de filtro

Recupere el nombre de la regla LLD "24681" y sus condiciones de filtro. El filtro utiliza el tipo de evaluación "y", por lo que la propiedad formula esta vacía y eval_formula se genera automáticamente.

Solicitud:

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

Respuesta:

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

Recuperar regla LLD por URL

Recuperar regla LLD para equipo por valor del campo de regla URL. Solo se admite la coincidencia exacta de la cadena URL definida para la regla LLD.

Solicitud:

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

Respuesta:

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

Recuperar regla LLD con anulaciones

Recuperar una regla LLD que tenga varias configuraciones de anulación.

Solicitud:

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

Respuesta:

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

Ver también

Fuente

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