Системный журнал#
Настройка системного журнала#
Просмотр сообщений системного журнала Kintsugi (DBCM) осуществляется с помощью сервиса Журналирование (LOGA) (далее – компонент Журналирование), если он доступен в инфраструктуре. В случае его отсутствия просмотр сообщений системного журнала выполняется с помощью сервиса сбора записей о событиях, совместимого с Fluent Bit, например: Elasticsearch.
Настройка интеграции с системным журналом описана в документе «Руководство по установке» раздел «Установка компонента Kintsugi (DBCM)».
Все сообщения системного журнала имеют формат человекочитаемого сообщения.
Предусмотрены следующие уровни журналирования:
ERROR – записываются сообщения обо всех ситуациях или событиях в приложении, которые считаются ошибочными:
ошибки вызова внешних сервисов;
ошибки интеграционных вызовов;
ошибки, ведущие к падению одного из сервисов;
WARN – предупреждения о некорректной работе сервиса;
INFO – информация о работе приложения и текущем состоянии сервисов;
DEBUG – подробности о работе приложения, позволяющие восстановить последовательность выполнения операций при обслуживании запросов и вызовах внешних систем.
Примечание
Не рекомендуется использовать уровень логирования DEBUG в промышленной эксплуатации.
Доступ к системному журналу#
Для просмотра логов Kintsugi (DBCM) используйте Elasticsearch или Apache Kafka.
Логи сервиса KgAgent компонента Kintsugi agent (DBDA) можно увидеть в системном журнале, так как он устанавливается на хосте.
Основные события#
Основные события сервисов, разработанных на языке Python#
В Platform V Kintsugi (DBM) следующие сервисы разработаны на языке Python: frontend, backend, curator, kmetrics, audit proxy, piface, inform и alerting.
События данных сервисов регистрируются в формате: <Дата и время> | <Уровень логирования> | <Описание ошибки>.
Ниже приведены некоторые события логирования.
Уровень |
Текст/шаблон сообщения |
Перевод |
|---|---|---|
|
|
Маршрутизация подключений: попытка подключения к базе данных для выполнения действия интроспекции завершилась неудачно: [Ошибка Error 104] Разрыв соединения по инициативе клиента |
|
|
Проверка готовности: положительный ответ дан |
|
|
Проверка активности: положительный ответ дан |
|
|
Очередь опроса метрик: элемент очереди (Asset ID=307957a1-a7dd-15f7c13b63cc): рано для опроса. Опрос будет выполнен через 99.423 секунды |
|
|
Очередь опроса метрик: элемент очереди (Asset ID=307957a1-a7dd-15f7c13b63cc): рано для опроса. Опрос будет выполнен через 75.986 секунды |
|
|
Информация о вызове обработчиков логирования: [IP-адрес]:[порт] - «GET /metrics HTTP/1.1» 200 |
Основные события сервисов, разработанных на языке Golang#
В Platform V Kintsugi (DBM) следующие сервисы разработаны на языке Golang: AgentWay, collector, dbperf, mcwatch, scheduler и KgAgent.
События данных сервисов регистрируются в формате: <Уровень ошибки> : <Дата и время> <Код файла и номер строки>: <Описание ошибки>.
Ниже приведены некоторые события логирования.
Уровень |
Текст/шаблон сообщения |
Перевод |
|---|---|---|
|
|
Не удалось подключиться к хосту = 10.X.X.X пользователю = postgres базе данных = postgres: ошибка TLS (разрыв соединения по инициативе клиента) |
|
|
Обновление соединений: версия обновленных соединений не совпадает с версией, которую предполагалось использовать. Версия не найдена |
|
|
Обработка с помощью promql карты длины = 39 |
|
|
Пайплайн: Получено продолжительность = 0s |
|
|
Метрики не могут быть собраны, доступно 0 источников метрик |
|
|
Ошибка SQL-запроса |
|
|
19 источников обработано, запрос: (19 выполнено, 0 пропущено, 3 провал), метрики: (36 создано, 0 провалено) |
|
|
Пайплайн: техническое обслуживание завершилось, фактический размер хранилища, длина = 108, емкость = 1700 |
Описание событий «Error», приводящих к падению Kintsugi (DBCM)#
В целях ознакомления приведены сообщения, приводящие к падению Kintsugi (DBCM).
Сообщение |
Сервис, сгенерировавший ошибку |
Причина возникновения |
|---|---|---|
|
collector * |
Ошибка инициализации конфигурации сервиса |
|
collector * |
Ошибка инициализации логов сервиса |
|
collector |
Ошибка чтения запросов метрик из файла |
|
collector |
Ошибка инициализации запросов метрик из файла |
|
collector |
Ошибка при попытке сформировать параметры подключения к наблюдаемой БД |
|
collector |
Ошибка формирования подключения к БД |
|
collector |
Ошибка в сформированной строке подключения к БД |
Примечание
* – применимо также к сервису audit proxy.
Описание событий типа «Error», приводящих к падению Kintsugi agent (DBDA)#
Таблица содержит примеры сообщений, приводящих к падению Kintsugi agent.
Сообщение |
Сервис, сгенерировавший ошибку |
Причина возникновения |
|---|---|---|
|
KgAgent |
Ошибка инициализации конфигурации сервиса |
|
KgAgent |
Ошибка инициализации логов сервиса |
Настройка уровня логирования#
Настройка уровня логирования выполняется на этапе установки компонента Kintsugi (DBCM) и описана в документе «Руководство по установке» раздел «Установка веб-интерфейса компонента Kintsugi (DBCM)» пункт «Конфигурация Helm-чарта Kintsugi».
Для изменения уровня логирования выполните следующие действия:
Отредактируйте файл
values.yamlHelm-чарта Kintsugi (DBCM) и установите параметрlogLevelна нужный уровень.Повторно разверните Helm-чарт с обновленными значениями:
helm upgrade <release-name> <chart-name> -f values.yaml -n <namespace>Убедитесь, что в системном журнале отображаются сообщения только указанного уровня и выше (иерархия:
ERROR<WARN<INFO<DEBUG).
Примечание
Использование уровня логирования DEBUG увеличивает объем записываемых событий и может отрицательно сказаться на производительности системы. Используйте уровень DEBUG исключительно для диагностики неисправностей.
Настройка вывода логов Kintsugi agent (DBDA)#
Параметры вывода логов Kintsugi agent (DBDA) задаются в блоке logging.output конфигурационного файла /etc/kgagent/config.yaml и описаны в документе «Руководство по установке» раздел «Установка компонента Kintsugi agent (DBDA) (опциональный)» пункт «Настройка интеграции Kintsugi agent (DBDA) с системой Kintsugi (DBCM)».
Параметр logging.output.type определяет тип вывода логов и принимает одно из следующих значений:
"stdout"— вывод логов в стандартный поток вывода (журнал systemd)."file"— вывод логов в файл.
Примечание
При выборе значения "file" необходимо указать все параметры ротации: log_file, log_path, log_rotate_limit_mb, log_rotate_interval_days, log_rotate_max_backups.
Пример конфигурации для вывода логов в файл:
logging:
log_level: info
fluent_config:
inuse: false
output:
type: "file"
log_file: "kgagent.log"
log_path: "/bin/kgagent/logs"
log_rotate_limit_mb: 100
log_rotate_interval_days: 30
log_rotate_max_backups: 200
log_rotate_compress: true
Чтобы применить изменения, перезапустите сервис KgAgent:
sudo systemctl restart kgagent
Проверить создание лог-файла в указанной директории:
ls -la /bin/kgagent/logs/