apmlog.get

Beschreibung

integer/array apmlog.get(object parameters)

Mit dieser Methode können Sie anhand der angegebenen Parameter Protokolleinträge abrufen.

Diese Methode steht Benutzern jeden Typs zur Verfügung. Die Berechtigungen zum Aufrufen der Methode können in den Einstellungen der Benutzerrolle entzogen werden. Weitere Informationen finden Sie unter Benutzerrollen.

Parameter

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

Die Methode unterstützt die folgenden Parameter.

Parameter Type Beschreibung
time_from timestamp Gibt nur Protokolldatensätze von Ereignissen zurück, die zum angegebenen Zeitpunkt oder danach aufgetreten sind.

Parameterverhalten:
- erforderlich
time_till timestamp Gibt nur Protokolldatensätze von Ereignissen zurück, die vor dem angegebenen Zeitpunkt aufgetreten sind.

Parameterverhalten:
- erforderlich
traceids string/array Gibt nur Protokolldatensätze zurück, die während der angegebenen Traces erzeugt wurden.
spanids string/array Gibt nur Protokolldatensätze zurück, die während der angegebenen Spans erzeugt wurden.
with_flags_on integer Gibt nur Protokolldatensätze zurück, bei denen alle angegebenen Trace-Flags gesetzt sind.
Um mehrere Flags anzugeben, verwenden Sie die Summe ihrer Werte.
with_flags_off integer Gibt nur Protokolldatensätze zurück, bei denen keines der angegebenen Trace-Flags gesetzt ist.
Um mehrere Flags anzugeben, verwenden Sie die Summe ihrer Werte.
resource_attributes object/array Gibt nur Protokolldatensätze mit den angegebenen Ressourcenattributen zurück.
Format: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].
Ein leeres Array gibt alle Protokolldatensätze zurück.

Mögliche Werte für operator:
0 - (Standard) Enthält;
1 - Ist gleich;
2 - Enthält nicht;
3 - Ist nicht gleich;
4 - Ist vorhanden;
5 - Ist nicht vorhanden.
resource_attributes_evaltype integer Auswertungsmethode für die Bedingungen in resource_attributes.

Mögliche Werte:
0 - (Standard) Und/Oder;
2 - Oder.
scope_attributes object/array Gibt nur Protokolldatensätze mit den angegebenen Scope-Attributen zurück.
Format: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].
Ein leeres Array gibt alle Protokolldatensätze zurück.

Mögliche Werte für operator:
0 - (Standard) Enthält;
1 - Ist gleich;
2 - Enthält nicht;
3 - Ist nicht gleich;
4 - Ist vorhanden;
5 - Ist nicht vorhanden.
scope_attributes_evaltype integer Auswertungsmethode für die Bedingungen in scope_attributes.

Mögliche Werte:
0 - (Standard) Und/Oder;
2 - Oder.
log_attributes object/array Gibt nur Protokolldatensätze mit den angegebenen Protokollattributen zurück.
Format: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].
Ein leeres Array gibt alle Protokolldatensätze zurück.

Mögliche Werte für operator:
0 - (Standard) Enthält;
1 - Ist gleich;
2 - Enthält nicht;
3 - Ist nicht gleich;
4 - Ist vorhanden;
5 - Ist nicht vorhanden.
log_attributes_evaltype integer Auswertungsmethode für die Bedingungen in log_attributes.

Mögliche Werte:
0 - (Standard) Und/Oder;
2 - Oder.
filter object Gibt nur Ergebnisse zurück, die exakt mit dem angegebenen Filter übereinstimmen.

Akzeptiert ein Objekt, dessen Schlüssel Eigenschaftsnamen und dessen Werte entweder ein einzelner Wert oder ein Array von Werten sind, mit denen abgeglichen werden soll.

Unterstützte Eigenschaften: traceid, spanid, trace_flags, severity_text, severity_number, service_name, resource_schema_url, scope_schema_url, scope_name, scope_version, event_name.
search object Gibt Ergebnisse zurück, die dem angegebenen Muster entsprechen (ohne Beachtung der Groß-/Kleinschreibung).

Akzeptiert ein Objekt, dessen Schlüssel Eigenschaftsnamen und dessen Werte Zeichenfolgen sind, nach denen gesucht werden soll. Wenn keine zusätzlichen Optionen angegeben werden, wird eine LIKE "%…%"-Suche durchgeführt.

Unterstützte Eigenschaften: severity_text, service_name, body, resource_schema_url, scope_schema_url, scope_name, scope_version, event_name.
sortfield string/array Sortiert das Ergebnis nach den angegebenen Eigenschaften.

Mögliche Werte: 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 Anzahl der Datensätze, die vor der Rückgabe des Ergebnisses übersprungen werden sollen.
countOutput boolean Diese Parameter werden im Referenzkommentar beschrieben.
excludeSearch boolean
limit integer
output query
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Rückgabewerte

(integer/array) Gibt entweder Folgendes zurück:

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

Beispiele

Abrufen von Fehlerprotokollen eines Traces

Rufen Sie Protokolleinträge mit dem Schweregrad ERROR (Schweregradnummern 17–20) ab, die dem Trace „8a4f1c7e2b9d4e6fa0c3b5d7e9f1a2c4“ zugeordnet sind.

Anfrage:

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

Antwort:

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

Suchen nach Logmeldungen

Rufen Sie die Uhrzeit, den Dienst und die Meldung der 10 neuesten Logeinträge ab, deren Meldung „timeout“ enthält.

Anfrage:

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

Antwort:

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

Siehe auch

Quelle

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