Логирование¶
Откройте Kafka / Администрирование / Логирование.
Логирование компоненты Kafka¶
Низкоуровневые логи внешней компоненты (librdkafka) в файлы на сервере 1С.
| Поле | Описание |
|---|---|
| Каталог | Путь на сервере для лог-файлов внешней компоненты |
| Файлы | Формат даты в имени лог-файла (strftime, по умолчанию %Y%m%d — новый файл каждый день) |
Именование лог-файлов¶
Имена файлов формируются по шаблону:
| Плейсхолдер | Значение |
|---|---|
type | Тип логгера: producer, consumer, statistics, dump |
client.id | Идентификатор клиента — параметр client.id продюсера/консьюмера |
pid | Идентификатор процесса на сервере 1С |
dateformat | Дата в формате из поля Файлы (по умолчанию %Y%m%d) |
Так логи разных продюсеров, консьюмеров и рабочих процессов разводятся по отдельным файлам, а по дате файлы ротируются.
Когда нужны эти логи
Подключение, отправка, ошибки брокера, SASL/SSL — всё это фиксируется здесь на низком уровне. Полезно для отладки сетевых проблем и проблем аутентификации.
Внешнее логирование¶
Выгрузка журнала обмена в HTTP/HTTPS-эндпоинт (Logstash, Elasticsearch, Loki и др.).
| Поле / кнопка | Описание |
|---|---|
| Использовать | Включает/выключает выгрузку |
| URL сервиса | Адрес эндпоинта (например, https://hostname:8080/my-logs) |
| Префикс | Префикс, добавляемый к имени логгера (см. ниже) |
| Исходящие — Заголовки / Тело / Исх. данные | Что выгружать по исходящим сообщениям |
| Входящие — Заголовки / Тело | Что выгружать по входящим сообщениям |
Что даёт внешнее логирование¶
- История обмена в привычных инструментах (Kibana, Grafana Loki Explore).
- Поиск и аналитика по огромным объёмам данных без нагрузки на 1С.
- Срок хранения в 1С можно уменьшить (
-2— удалять после выгрузки) — записи останутся в ELK/Loki. - Полная трансляция регистров во внешний логгер: одно сообщение в 1С = один документ в логгере (см. ниже).
Именование логгеров¶
Записи выгружаются с именем логгера по шаблону:
где префикс — значение поля Префикс (может быть пустым). Идентификатор конкретного продюсера/консьюмера в имя логгера не входит — иначе каждая настройка порождала бы отдельный индекс в Elasticsearch / OpenSearch, что приводит к разрастанию числа индексов и ошибкам на стороне хранилища.
Как работает выгрузка¶
- Выгрузка в HTTP-эндпоинт идёт с задержкой в несколько минут после фактического изменения записи в РС «Исходящие / Входящие сообщения». Задержка намеренная — она группирует промежуточные статусы и уменьшает количество отправляемых записей.
- Каждая запись журнала содержит идентификатор события (id записи регистра).
- Готовые настройки для Elasticsearch и OpenSearch — в репозитории ShadobaAI/kafka-tools. Индекс настроен на upsert по id — одно сообщение в 1С соответствует одному документу в логгере, который обновляется при изменении статуса (а не порождает новые записи).
Следствие для дашбордов
Поскольку документ в логгере отражает текущее состояние сообщения, отчёты строятся без дедупликации. Сумма по статусу Обработано = реальное число обработанных сообщений, не число переходов состояний.
Требования¶
- На сервере 1С должен быть доступен интернет-ресурс по указанному URL.
- Пользователь обмена должен иметь право использовать HTTP-соединения.
Срок хранения -2
Если настроен внешний логгер — ставьте -2 для статусов, по которым не нужна долгая локальная история (например, «Обработано» и «Выгружено»). Это сильно разгрузит РС «Исходящие / Входящие сообщения».
