Системный журнал
Настройка системного журнала
События системного журнала сохраняются в файл, путь к которому определяется в настройках компонента. Конфигурация системного журнала осуществляется через конфигурационные файлы, которые соответствуют каждому компоненту сервиса: /etc/pbr/<service-name>.yaml.
Для компонента Recovery Manager используется конфигурационный файл ~/.pbr/recovery-manager.yaml.
Пример конфигурационного файла /etc/pbr/agent-manager.yaml для компонента Agent Manager в части журналирования:
log:
path: /var/log/pbr/agent-manager.log
max_size: 200
max_age: 14
max_backups: 10
use_local_time: false
compress_backups: false
Наименование | Описание |
|---|---|
| Путь к файлу, в который будут записываться логи |
| Максимальный размер лог-файла в мегабайтах. По умолчанию |
| Максимальный срок хранения лог-файла в днях |
| Максимальное количество исторических логов, которое может храниться одновременно. Если выбрано 0, то количество файлов не ограничено |
| Параметр определяет, в каком формате будут записываться метки времени в имена файлов при ротации:
|
| Параметр определяет необходимость сжатия лог-файлов:
|
Для корректной работы системы логирования необходимо заранее создать лог-файл и его промежуточные папки. Если у системы есть соответствующие права, они будут созданы автоматически, в противном случае – создайте их вручную или измените права доступа для автоматизации этого процесса.
Порядок удаления логов
Удаление логов выполняется в два этапа:
- Сначала проверяется ограничение
max_backups. Если количество исторических логов превышает заданное значение, самые старые файлы удаляются. - Затем проверяется ограничение
max_age. Удаляются логи, возраст которых превышает указанное количество дней.
Таким образом, оба параметра применяются независимо друг от друга:
- лог-файл будет удален, если превышено значение
max_backups, даже если не превышен срок его храненияmax_age; - лог-файл также будет удален, если срок его хранения превышает
max_age, даже если количество логов не превышаетmax_backups.
Пример удаления логов
log:
path: /var/log/pbr/agent-manager.log
max_size: 100
max_age: 90
max_backups: 10
use_local_time: false
compress_backups: false
-
При достижении размера 100 МБ текущий лог ротируется и становится историческим логом.
-
Допустим, после очередной ротации в каталоге находится 11 исторических логов:
copywala.log.1
copywala.log.2
КОД ПРОПУЩЕН: <вывод логов с 3 по 10>
copywala.log.11 -
Сначала применяется правило
max_backups: 10: так как количество исторических логов превышает 10, самый старый лог (copywala.log.11) будет удален, даже если ему меньше 90 дней. -
После этого применяется правило
max_age: 90: если среди оставшихся логов есть файлы старше 90 дней, они также будут удалены, даже если общее количество логов не превышаетmax_backups.
Доступ к системному журналу
Доступ к системному журналу имеет только администратор системы.
Основные события
Все сообщения системного журнала имеют формат человекочитаемого сообщения. Каждая запись содержит уникальный идентификатор процесса, что позволяет однозначно определить, какая именно информация была занесена каждым отдельным процессом в системный журнал. Просмотр сообщений системного журнала осуществляется с использованием стандартного потока вывода приложения.
Для сообщений применимы следующие уровни логирования:
-
Error − записываются сообщения обо всех ситуациях или событиях в приложении, которые считаются ошибочными:
- ошибки вызова внешних сервисов;
- ошибки интеграционных вызовов;
- ошибки, ведущие к падению одного из сервисов.
Пример:
2025-01-13 16:22:36.453 [1415876] ERR failed to handle request due to error err="failed to dispatch error: failed to commit task cancellation: failed to update task status: failed to connect to user=postgres database=postgres:\n\t[::1]:45432 (localhost): dial error: dial tcp [::1]:45432: connect: connection refused\n\t127.0.0.1:45432 (localhost): dial error: dial tcp 127.0.0.1:45432: connect: connection refused\n\t[::1]:45432 (localhost): dial error: dial tcp [::1]:45432: connect: connection refused\n\t127.0.0.1:45432 (localhost): dial error: dial tcp 127.0.0.1:45432: connect: connection refused" method=POST url=/api/task-manager/1/tasks/0194079b-5048-7dcf-9f05-c65c3fc55c3a:cancelГде 1415876 – идентификатор процесса в операционной системе.
-
Warning – предупреждения о некорректной работе сервиса.
Пример:
2025-01-13 16:20:35.866 [1415586] WRN REST API server is being configured without TLS configurationГде 1415586 – идентификатор процесса в операционной системе.
-
Info – информация о работе приложения и текущем состоянии сервисов.
Пример:
2025-12-19 17:18:46.144 [2315586] INF instance successfully entered online backup state
2025-12-19 17:18:46.447 [2315586] INF requesting data directory path to perform backup
2025-12-19 17:18:46.876 [2315586] INF successfully received data directory path data_directory=/pgdata/06/dataГде 2315586 – идентификатор процесса в операционной системе.