apmlog.get

Descrição

integer/array apmlog.get(object parameters)

O método permite recuperar registros de log de acordo com os parâmetros fornecidos.

Este método está disponível para usuários de qualquer tipo. As permissões para chamar o método podem ser revogadas nas configurações da função de usuário. Consulte Funções de usuário para obter mais informações.

Parâmetros

(object) Parâmetros que definem a saída desejada.

O método aceita os seguintes parâmetros.

Parameter Type Description
time_from timestamp Retorna somente os registros de log de eventos que ocorreram no horário especificado ou posteriormente.

Comportamento do parâmetro:
- obrigatório
time_till timestamp Retorna somente os registros de log de eventos que ocorreram antes do horário especificado.

Comportamento do parâmetro:
- obrigatório
traceids string/array Retorna somente os registros de log produzidos durante os traces especificados.
spanids string/array Retorna somente os registros de log produzidos durante os spans especificados.
with_flags_on integer Retorna somente os registros de log que têm todos os trace flags especificados definidos.
Para especificar vários flags, use a soma de seus valores.
with_flags_off integer Retorna somente os registros de log que não têm nenhum dos trace flags especificados definido.
Para especificar vários flags, use a soma de seus valores.
resource_attributes object/array Retorna somente os registros de log com os atributos de recurso especificados.
Formato: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].
Uma matriz vazia retorna todos os registros de log.

Valores possíveis de operator:
0 - (padrão) Contém;
1 - É igual a;
2 - Não contém;
3 - Não é igual a;
4 - Existe;
5 - Não existe.
resource_attributes_evaltype integer Método de avaliação das condições em resource_attributes.

Valores possíveis:
0 - (padrão) E/Ou;
2 - Ou.
scope_attributes object/array Retorna somente os registros de log com os atributos de escopo especificados.
Formato: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].
Uma matriz vazia retorna todos os registros de log.

Valores possíveis de operator:
0 - (padrão) Contém;
1 - É igual a;
2 - Não contém;
3 - Não é igual a;
4 - Existe;
5 - Não existe.
scope_attributes_evaltype integer Método de avaliação das condições em scope_attributes.

Valores possíveis:
0 - (padrão) E/Ou;
2 - Ou.
log_attributes object/array Retorna somente os registros de log com os atributos de log especificados.
Formato: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].
Uma matriz vazia retorna todos os registros de log.

Valores possíveis de operator:
0 - (padrão) Contém;
1 - É igual a;
2 - Não contém;
3 - Não é igual a;
4 - Existe;
5 - Não existe.
log_attributes_evaltype integer Método de avaliação das condições em log_attributes.

Valores possíveis:
0 - (padrão) E/Ou;
2 - Ou.
filter object Retorna somente os resultados que correspondem exatamente ao filtro especificado.

Aceita um objeto cujas chaves são nomes de propriedades e cujos valores são um único valor ou uma matriz de valores a serem comparados.

Propriedades compatíveis: traceid, spanid, trace_flags, severity_text, severity_number, service_name, resource_schema_url, scope_schema_url, scope_name, scope_version, event_name.
search object Retorna os resultados que correspondem ao padrão especificado (sem distinção entre maiúsculas e minúsculas).

Aceita um objeto cujas chaves são nomes de propriedades e cujos valores são strings a serem pesquisadas. Se nenhuma opção adicional for especificada, será realizada uma pesquisa LIKE "%…%".

Propriedades compatíveis: severity_text, service_name, body, resource_schema_url, scope_schema_url, scope_name, scope_version, event_name.
sortfield string/array Ordena o resultado pelas propriedades especificadas.

Valores possíveis: 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 a ignorar antes de retornar o resultado.
countOutput boolean Esses parâmetros são descritos no comentário de referência.
excludeSearch boolean
limit integer
output query
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Valores de retorno

(integer/array) Retorna:

  • um array de objetos;
  • a quantidade de objetos recuperados, se o parâmetro countOutput tiver sido usado.

Exemplos

Recuperando logs de erro de um trace

Recupere os registros de log com a severidade ERROR (números de severidade 17-20) associados ao trace "8a4f1c7e2b9d4e6fa0c3b5d7e9f1a2c4".

Solicitação:

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

Resposta:

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

Pesquisando mensagens de log

Recupere o horário, o serviço e a mensagem dos 10 registros de log mais recentes cuja mensagem contenha "timeout".

Solicitação:

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

Resposta:

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

Veja também

Origem

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