Na tej stronie
apmlog.get
Opis
integer/array apmlog.get(object parameters)
Metoda umożliwia pobieranie rekordów dziennika zgodnie z podanymi parametrami.
Ta metoda jest dostępna dla użytkowników dowolnego typu. Uprawnienia do wywoływania metody można odebrać w ustawieniach roli użytkownika. Więcej informacji można znaleźć w sekcji Role użytkowników.
Parametry
(object) Parametry definiujące żądane dane wyjściowe.
Metoda obsługuje następujące parametry.
| Parametr | Typ | Opis |
|---|---|---|
| time_from | timestamp | Zwraca tylko rekordy dziennika zdarzeń, które wystąpiły o podanym czasie lub później. Zachowanie parametru: - wymagany |
| time_till | timestamp | Zwraca tylko rekordy dziennika zdarzeń, które wystąpiły przed podanym czasem. Zachowanie parametru: - wymagany |
| traceids | string/array | Zwraca tylko rekordy dziennika utworzone podczas podanych śladów. |
| spanids | string/array | Zwraca tylko rekordy dziennika utworzone podczas podanych zakresów. |
| with_flags_on | integer | Zwraca tylko rekordy dziennika, dla których ustawione są wszystkie podane flagi śladu. Aby określić kilka flag, użyj sumy ich wartości. |
| with_flags_off | integer | Zwraca tylko rekordy dziennika, dla których nie jest ustawiona żadna z podanych flag śladu. Aby określić kilka flag, użyj sumy ich wartości. |
| resource_attributes | object/array | Zwraca tylko rekordy dziennika z podanymi atrybutami zasobu. Format: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].Pusta tablica zwraca wszystkie rekordy dziennika. Możliwe wartości operatora: 0 - (domyślnie) Zawiera; 1 - Jest równe; 2 - Nie zawiera; 3 - Nie jest równe; 4 - Istnieje; 5 - Nie istnieje. |
| resource_attributes_evaltype | integer | Metoda oceny warunków w resource_attributes.Możliwe wartości: 0 - (domyślnie) And/Or; 2 - Or. |
| scope_attributes | object/array | Zwraca tylko rekordy dziennika z podanymi atrybutami zakresu. Format: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].Pusta tablica zwraca wszystkie rekordy dziennika. Możliwe wartości operatora: 0 - (domyślnie) Zawiera; 1 - Jest równe; 2 - Nie zawiera; 3 - Nie jest równe; 4 - Istnieje; 5 - Nie istnieje. |
| scope_attributes_evaltype | integer | Metoda oceny warunków w scope_attributes.Możliwe wartości: 0 - (domyślnie) And/Or; 2 - Or. |
| log_attributes | object/array | Zwraca tylko rekordy dziennika z podanymi atrybutami dziennika. Format: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].Pusta tablica zwraca wszystkie rekordy dziennika. Możliwe wartości operatora: 0 - (domyślnie) Zawiera; 1 - Jest równe; 2 - Nie zawiera; 3 - Nie jest równe; 4 - Istnieje; 5 - Nie istnieje. |
| log_attributes_evaltype | integer | Metoda oceny warunków w log_attributes.Możliwe wartości: 0 - (domyślnie) And/Or; 2 - Or. |
| filter | object | Zwraca tylko wyniki dokładnie pasujące do podanego filtra. Przyjmuje obiekt, w którym kluczami są nazwy właściwości, a wartościami są pojedyncze wartości lub tablice wartości, do których należy dopasować wyniki. Obsługiwane właściwości: traceid, spanid, trace_flags, severity_text, severity_number, service_name, resource_schema_url, scope_schema_url, scope_name, scope_version, event_name. |
| search | object | Zwraca wyniki pasujące do podanego wzorca (bez uwzględniania wielkości liter). Przyjmuje obiekt, w którym kluczami są nazwy właściwości, a wartościami są ciągi znaków, których należy szukać. Jeśli nie podano dodatkowych opcji, wyszukiwanie będzie wykonywane za pomocą LIKE "%…%".Obsługiwane właściwości: severity_text, service_name, body, resource_schema_url, scope_schema_url, scope_name, scope_version, event_name. |
| sortfield | string/array | Sortuje wynik według podanych właściwości. Możliwe wartości: 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 | Liczba rekordów pomijanych przed zwróceniem wyniku. |
| countOutput | boolean | Parametry te opisano w komentarzu referencyjnym. |
| excludeSearch | boolean | |
| limit | integer | |
| output | query | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean |
Wartości zwracane
(integer/array) Zwraca:
- tablicę obiektów;
- liczbę pobranych obiektów, jeśli użyto parametru
countOutput.
Przykłady
Pobieranie dzienników błędów śladu
Pobierz rekordy dziennika o ważności ERROR (numery ważności 17–20) powiązane ze śladem „8a4f1c7e2b9d4e6fa0c3b5d7e9f1a2c4”.
{
"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
}
Odpowiedź:
{
"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
}
Wyszukiwanie komunikatów w dzienniku
Pobierz czas, usługę i komunikat 10 najnowszych rekordów dziennika, których komunikat zawiera tekst „timeout”.
{
"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
}
Odpowiedź:
{
"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
}
Zobacz także
Źródło
CApmLog::get() w ui/include/classes/api/services/CApmLog.php.