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.