apmlog.get

Descripción

integer/array apmlog.get(object parameters)

El método permite recuperar registros de log según los parámetros indicados.

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

Parámetros

(object) Parámetros que definen el resultado deseado.

El método admite los siguientes parámetros.

Parámetro Tipo Descripción
time_from timestamp Devuelve únicamente los registros de log de eventos que ocurrieron en el momento indicado o después.

Comportamiento del parámetro:
- obligatorio
time_till timestamp Devuelve únicamente los registros de log de eventos que ocurrieron antes del momento indicado.

Comportamiento del parámetro:
- obligatorio
traceids string/array Devuelve únicamente los registros de log generados durante los traces indicados.
spanids string/array Devuelve únicamente los registros de log generados durante los spans indicados.
with_flags_on integer Devuelve únicamente los registros de log que tienen establecidos todos los trace flags indicados.
Para especificar varios flags, utilice la suma de sus valores.
with_flags_off integer Devuelve únicamente los registros de log que no tienen establecido ninguno de los trace flags indicados.
Para especificar varios flags, utilice la suma de sus valores.
resource_attributes object/array Devuelve únicamente los registros de log con los atributos de recurso indicados.
Formato: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].
Un array vacío devuelve todos los registros de log.

Valores posibles de operator:
0 - (predeterminado) Contiene;
1 - Es igual a;
2 - No contiene;
3 - No es igual a;
4 - Existe;
5 - No existe.
resource_attributes_evaltype integer Método de evaluación de las condiciones de resource_attributes.

Valores posibles:
0 - (predeterminado) And/Or;
2 - Or.
scope_attributes object/array Devuelve únicamente los registros de log con los atributos de scope indicados.
Formato: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].
Un array vacío devuelve todos los registros de log.

Valores posibles de operator:
0 - (predeterminado) Contiene;
1 - Es igual a;
2 - No contiene;
3 - No es igual a;
4 - Existe;
5 - No existe.
scope_attributes_evaltype integer Método de evaluación de las condiciones de scope_attributes.

Valores posibles:
0 - (predeterminado) And/Or;
2 - Or.
log_attributes object/array Devuelve únicamente los registros de log con los atributos de log indicados.
Formato: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].
Un array vacío devuelve todos los registros de log.

Valores posibles de operator:
0 - (predeterminado) Contiene;
1 - Es igual a;
2 - No contiene;
3 - No es igual a;
4 - Existe;
5 - No existe.
log_attributes_evaltype integer Método de evaluación de las condiciones de log_attributes.

Valores posibles:
0 - (predeterminado) And/Or;
2 - Or.
filter object Devuelve únicamente los resultados que coinciden exactamente con el filtro indicado.

Acepta un objeto cuyas claves son nombres de propiedades y cuyos valores son un único valor o un array de valores con los que se debe comparar.

Propiedades compatibles: traceid, spanid, trace_flags, severity_text, severity_number, service_name, resource_schema_url, scope_schema_url, scope_name, scope_version, event_name.
search object Devuelve los resultados que coinciden con el patrón indicado (sin distinguir entre mayúsculas y minúsculas).

Acepta un objeto cuyas claves son nombres de propiedades y cuyos valores son cadenas que se deben buscar. Si no se proporcionan opciones adicionales, se realizará una búsqueda LIKE "%…%".

Propiedades compatibles: severity_text, service_name, body, resource_schema_url, scope_schema_url, scope_name, scope_version, event_name.
sortfield string/array Ordena el resultado según las propiedades indicadas.

Valores posibles: timestamp, traceid, spanid, trace_flags, severity_text, severity_number, service_name, resource_schema_url, scope_schema_url, scope_name, scope_version, event_name.
offset integer Número de registros que se deben omitir antes de devolver el resultado.
countOutput boolean Estos parámetros se describen en la referencia.
excludeSearch boolean
limit integer
output query
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Valores devueltos

(integer/array) Devuelve uno de los siguientes valores:

  • un array de objetos;
  • el número de objetos recuperados, si se ha utilizado el parámetro countOutput.

Ejemplos

Recuperación de registros de error de un trace

Recupere los registros con la gravedad ERROR (números de gravedad 17-20) asociados al trace "8a4f1c7e2b9d4e6fa0c3b5d7e9f1a2c4".

Solicitud:

{
    "jsonrpc": "2.0",
    "method": "apmlog.get",
    "params": {
        "output": "extend",
        "time_from": 1790848800,
        "time_till": 1790852400,
        "traceids": "8a4f1c7e2b9d4e6fa0c3b5d7e9f1a2c4",
        "filter": {
            "severity_number": [17, 18, 19, 20]
        },
        "sortfield": "timestamp",
        "sortorder": "ASC"
    },
    "id": 1
}

Respuesta:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "timestamp": "1790849305091452376",
            "traceid": "8a4f1c7e2b9d4e6fa0c3b5d7e9f1a2c4",
            "spanid": "5d2e8f1a9c3b7046",
            "trace_flags": "1",
            "severity_text": "ERROR",
            "severity_number": "17",
            "service_name": "zabbix-frontend",
            "body": "mysqli_query(): (HY000/1205): Lock wait timeout exceeded; try restarting transaction",
            "resource_schema_url": "https://opentelemetry.io/schemas/1.26.0",
            "resource_attributes": {
                "service.name": "zabbix-frontend",
                "host.name": "6583ceeb5f94",
                "host.arch": "x86_64",
                "os.type": "linux"
            },
            "scope_schema_url": "",
            "scope_name": "zabbix-frontend",
            "scope_version": "",
            "scope_attributes": {},
            "log_attributes": {
                "log.file.path": "/var/log/zabbix/zabbix_frontend.log",
                "code.filepath": "/usr/share/zabbix/include/db.inc.php"
            },
            "event_name": ""
        }
    ],
    "id": 1
}

Búsqueda de mensajes de registro

Recupere la hora, el servicio y el mensaje de los 10 registros de log más recientes cuyo mensaje contenga "timeout".

Solicitud:

{
    "jsonrpc": "2.0",
    "method": "apmlog.get",
    "params": {
        "output": ["timestamp", "service_name", "severity_text", "body"],
        "time_from": 1790848800,
        "time_till": 1790852400,
        "search": {
            "body": "timeout"
        },
        "sortfield": "timestamp",
        "sortorder": "DESC",
        "limit": 10
    },
    "id": 1
}

Respuesta:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "timestamp": "1790849305091452376",
            "service_name": "zabbix-frontend",
            "severity_text": "ERROR",
            "body": "mysqli_query(): (HY000/1205): Lock wait timeout exceeded; try restarting transaction"
        },
        {
            "timestamp": "1790848961730284115",
            "service_name": "zabbix-frontend",
            "severity_text": "ERROR",
            "body": "mysqli_query(): (HY000/1205): Lock wait timeout exceeded; try restarting transaction"
        }
    ],
    "id": 1
}

Véase también

Fuente

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