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
countOutputverwendet 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.
{
"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.
{
"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.