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”.

Żądanie:

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

Żądanie:

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