apmlog.get

Описание

integer/array apmlog.get(object parameters)

Метод позволяет получать записи журнала в соответствии с указанными параметрами.

Этот метод доступен пользователям любого типа. Разрешения на вызов метода можно отозвать в настройках роли пользователя. Дополнительную информацию см. в разделе Роли пользователей.

Параметры

(object) Параметры, определяющие требуемый результат.

Метод поддерживает следующие параметры.

Параметр Тип Описание
time_from timestamp Возвращать только записи журнала событий, произошедших в указанное время или позднее.

Поведение параметра:
- обязательный
time_till timestamp Возвращать только записи журнала событий, произошедших до указанного времени.

Поведение параметра:
- обязательный
traceids string/array Возвращать только записи журнала, созданные во время указанных трассировок.
spanids string/array Возвращать только записи журнала, созданные во время указанных интервалов.
with_flags_on integer Возвращать только записи журнала, у которых установлены все указанные флаги трассировки.
Чтобы указать несколько флагов, используйте сумму их значений.
with_flags_off integer Возвращать только записи журнала, у которых не установлен ни один из указанных флагов трассировки.
Чтобы указать несколько флагов, используйте сумму их значений.
resource_attributes object/array Возвращать только записи журнала с указанными атрибутами ресурса.
Формат: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].
Пустой массив возвращает все записи журнала.

Возможные значения оператора:
0 - (по умолчанию) Содержит;
1 - Равно;
2 - Не содержит;
3 - Не равно;
4 - Существует;
5 - Не существует.
resource_attributes_evaltype integer Метод оценки условий в resource_attributes.

Возможные значения:
0 - (по умолчанию) И/Или;
2 - Или.
scope_attributes object/array Возвращать только записи журнала с указанными атрибутами области действия.
Формат: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].
Пустой массив возвращает все записи журнала.

Возможные значения оператора:
0 - (по умолчанию) Содержит;
1 - Равно;
2 - Не содержит;
3 - Не равно;
4 - Существует;
5 - Не существует.
scope_attributes_evaltype integer Метод оценки условий в scope_attributes.

Возможные значения:
0 - (по умолчанию) И/Или;
2 - Или.
log_attributes object/array Возвращать только записи журнала с указанными атрибутами журнала.
Формат: [{"key": "<key>", "value": "<value>", "operator": "<operator>"}, ...].
Пустой массив возвращает все записи журнала.

Возможные значения оператора:
0 - (по умолчанию) Содержит;
1 - Равно;
2 - Не содержит;
3 - Не равно;
4 - Существует;
5 - Не существует.
log_attributes_evaltype integer Метод оценки условий в log_attributes.

Возможные значения:
0 - (по умолчанию) И/Или;
2 - Или.
filter object Возвращать только результаты, которые точно соответствуют указанному фильтру.

Принимает объект, в котором ключами являются имена свойств, а значениями - отдельные значения или массивы значений для сопоставления.

Поддерживаемые свойства: traceid, spanid, trace_flags, severity_text, severity_number, service_name, resource_schema_url, scope_schema_url, scope_name, scope_version, event_name.
search object Возвращать результаты, соответствующие указанному шаблону (без учета регистра).

Принимает объект, в котором ключами являются имена свойств, а значениями - строки для поиска. Если дополнительные параметры не указаны, выполняется поиск LIKE "%…%".

Поддерживаемые свойства: severity_text, service_name, body, resource_schema_url, scope_schema_url, scope_name, scope_version, event_name.
sortfield string/array Сортировать результат по указанным свойствам.

Возможные значения: 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 Количество записей, которые необходимо пропустить перед возвратом результата.
countOutput boolean Эти параметры описаны в справочном комментарии.
excludeSearch boolean
limit integer
output query
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Возвращаемые значения

(integer/array) Возвращает одно из следующего:

  • массив объектов;
  • количество полученных объектов, если использовался параметр countOutput.

Примеры

Получение журналов ошибок трассировки

Получите записи журнала с уровнем серьезности ERROR (номера уровней серьезности 17–20), связанные с трассировкой "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
}

Ответ:

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

Поиск сообщений в журналах

Получение времени, службы и сообщения 10 последних записей журнала, содержащих в сообщении слово "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
}

Ответ:

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

См. также

Источник

CApmLog::get() в файле ui/include/classes/api/services/CApmLog.php.