apmlog.get

Descrizione

integer/array apmlog.get(object parameters)

Il metodo consente di recuperare i record di log in base ai parametri specificati.

Questo metodo è disponibile per gli utenti di qualsiasi tipo. Le autorizzazioni per chiamare il metodo possono essere revocate nelle impostazioni del ruolo utente. Per ulteriori informazioni, vedere Ruoli utente.

Parametri

(object) Parametri che definiscono l'output desiderato.

Il metodo supporta i seguenti parametri.

Parametro Tipo Descrizione
time_from timestamp Restituisce solo i record di log degli eventi verificatisi al momento specificato o successivamente.

Comportamento del parametro:
- obbligatorio
time_till timestamp Restituisce solo i record di log degli eventi verificatisi prima del momento specificato.

Comportamento del parametro:
- obbligatorio
traceids string/array Restituisce solo i record di log prodotti durante le tracce specificate.
spanids string/array Restituisce solo i record di log prodotti durante gli span specificati.
with_flags_on integer Restituisce solo i record di log che hanno impostati tutti i flag di traccia specificati.
Per specificare più flag, utilizzare la somma dei relativi valori.
with_flags_off integer Restituisce solo i record di log che non hanno impostato nessuno dei flag di traccia specificati.
Per specificare più flag, utilizzare la somma dei relativi valori.
resource_attributes object/array Restituisce solo i record di log con gli attributi della risorsa specificati.
Formato: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].
Un array vuoto restituisce tutti i record di log.

Valori possibili per operator:
0 - (predefinito) Contiene;
1 - Uguale;
2 - Non contiene;
3 - Non uguale;
4 - Esiste;
5 - Non esiste.
resource_attributes_evaltype integer Metodo di valutazione per le condizioni in resource_attributes.

Valori possibili:
0 - (predefinito) And/Or;
2 - Or.
scope_attributes object/array Restituisce solo i record di log con gli attributi dell'ambito specificati.
Formato: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].
Un array vuoto restituisce tutti i record di log.

Valori possibili per operator:
0 - (predefinito) Contiene;
1 - Uguale;
2 - Non contiene;
3 - Non uguale;
4 - Esiste;
5 - Non esiste.
scope_attributes_evaltype integer Metodo di valutazione per le condizioni in scope_attributes.

Valori possibili:
0 - (predefinito) And/Or;
2 - Or.
log_attributes object/array Restituisce solo i record di log con gli attributi di log specificati.
Formato: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].
Un array vuoto restituisce tutti i record di log.

Valori possibili per operator:
0 - (predefinito) Contiene;
1 - Uguale;
2 - Non contiene;
3 - Non uguale;
4 - Esiste;
5 - Non esiste.
log_attributes_evaltype integer Metodo di valutazione per le condizioni in log_attributes.

Valori possibili:
0 - (predefinito) And/Or;
2 - Or.
filter object Restituisce solo i risultati che corrispondono esattamente al filtro specificato.

Accetta un oggetto in cui le chiavi sono nomi di proprietà e i valori sono un singolo valore o un array di valori da confrontare.

Proprietà supportate: traceid, spanid, trace_flags, severity_text, severity_number, service_name, resource_schema_url, scope_schema_url, scope_name, scope_version, event_name.
search object Restituisce i risultati che corrispondono al modello specificato (senza distinzione tra maiuscole e minuscole).

Accetta un oggetto in cui le chiavi sono nomi di proprietà e i valori sono stringhe da cercare. Se non vengono specificate opzioni aggiuntive, viene eseguita una ricerca LIKE "%…%".

Proprietà supportate: severity_text, service_name, body, resource_schema_url, scope_schema_url, scope_name, scope_version, event_name.
sortfield string/array Ordina il risultato in base alle proprietà specificate.

Valori possibili: 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 Numero di record da ignorare prima di restituire il risultato.
countOutput boolean Questi parametri sono descritti nel commento di riferimento.
excludeSearch boolean
limit integer
output query
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Valori restituiti

(integer/array) Restituisce:

  • un array di oggetti;
  • il numero di oggetti recuperati, se è stato utilizzato il parametro countOutput.

Esempi

Recupero dei log degli errori di una traccia

Recupera i record di log con gravità ERROR (numeri di gravità 17-20) associati alla traccia "8a4f1c7e2b9d4e6fa0c3b5d7e9f1a2c4".

Richiesta:

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

Risposta:

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

Ricerca dei messaggi di log

Recupera l'ora, il servizio e il messaggio degli ultimi 10 record di log il cui messaggio contiene "timeout".

Richiesta:

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

Risposta:

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

Vedi anche

Origine

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