Логирование
Настройка
Дополните все контейнеры Gramax Enterprise Server, кроме контейнеров doc-portal и web-editor:
LOG_TYPE— формат логов (default|cef). По умолчаниюdefault.LOG_LEVEL— минимальный уровень записи (debug|info|warn|error|fatal). По умолчаниюinfo.LOG_TRANSPORTER— транспорт вывода (console|syslog). По умолчаниюconsole.
Дополнительные параметры для LOG_TRANSPORTER=syslog
LOG_SYSLOG_HOST— хост Syslog‑сервера. По умолчанию127.0.0.1.LOG_SYSLOG_PORT— порт. По умолчанию514.LOG_SYSLOG_PROTOCOL— протокол (udp4|tcp4|tls4|udp6|tcp6|tls6). По умолчаниюudp4.LOG_SYSLOG_APP_NAME— имя приложения в сообщении (по умолчаниюgramax).
Структура CEF-логов
Логи содержат структурированную информацию о событиях, включая уникальный идентификатор, описание сообщения, уровень важности (severity) и расширения с дополнительными данными, полученными из контекста события.
Каждый лог состоит из двух основных частей:
Заголовок (Header)
Расширения (Extensions)
Заголовок
Заголовок лога соответствует стандарту CEF и имеет следующий формат:
CEF:0|<vendor>|<product>|<version>|<event id>|<message>|<severity>|
Vendor. Производитель (например, Gramax).
Product. Название продукта (например, GES).
Version. Версия продукта (например, 1.0).
Event ID. Уникальный идентификатор события, который определяется на основе типа сообщения. Маппинг ключей сообщений к event id ведется через словарь (например, invalidCredentials 1004).
Message. Человеко-понятное описание события, получаемое из словаря сообщений.
Severity. Числовое значение, характеризующее уровень важности события. Значения severity мапятся от уровней логирования следующим образом:
Debug: 1
Info: 3
Warn: 5
Error: 7
Fatal: 10
Расширения
После заголовка через разделитель | добавляются расширения — дополнительные данные, извлеченные из контекста события. Каждый параметр расширения задается в виде пары:
<cefField>=<value>
Расширения позволяют передать подробную информацию о событии, например, идентификатор запроса, IP-адрес, email пользователя, детали ошибки и т.д.
Контекст и маппинг расширений
Для формирования CEF-расширений используется маппинг, где каждому полю контекста соответствует определенное CEF-поле.
Поле контекста | CEF поле (extension) | Поле контекста CEF поле (extension) Описание |
|
| IP-адрес, с которого поступил запрос |
| - | Уникальный идентификатор запроса |
|
| Email пользователя (если указан) |
|
| Email пользователя |
|
| Логин юзера при публикации в Cloud |
|
| Email администратора |
|
| Причина отказа |
|
| Детали ошибки |
|
| Тип SSO-аутентификации |
|
| Тип используемого коннектора |
|
| URL, на который выполняется редирект |
|
| Список разрешенных URL |
|
| Имя файла (напр., файла конфигурации) |
|
| Полный путь к файлу или ресурсу |
|
| Идентификатор группы |
|
| Путь к директории |
|
| Полный путь к файлу или ресурсу |
|
| Идентификатор ресурса |
|
| Предыдущее значение (до изменения) |
|
| Новое значение (после изменения) |
|
| Список отсутствующих переменных |
|
| URL, указанный в событии |
|
| Количество оставшихся дней до истечения лицензии |
|
| Дополнительные данные ответа |
|
| Опции ai сервиса на момент ошибки |
Сопоставление сообщений и идентификаторов событий
Каждое событие в системе имеет свой ключ сообщения, который однозначно сопоставляется с:
Event ID. Уникальным идентификатором события.
Описание. Человеко-понятным сообщением.
Например:
invalidCredentials
Event ID:
1004Message: «Invalid credentials»
disabledSsoAuth
Event ID:
1001Message: «Disabled SSO auth»
addEditors (для административных изменений)
Event ID:
4001Message: «Add editor»
Пример лога
Ниже приведены дополнительные примеры логов в формате CEF. В примерах поле id (которое соответствует идентификатору запроса) задается случайным UUID, а event id берется из маппинга для каждого сообщения.
Описание: Успешная авторизация.
Event ID: 1028
Message: «Logged in via SSO»
Severity: 3 (info)
Расширения:
id— уникальный идентификатор запроса (UUID)src— IP-адрес запросаssoType— тип SSOduser— email пользователя
Пример лога:
Mar 31 13:19:54 host CEF:0|Gramax|GES|1.0|1028|Logged in via SSO|3|id=75f78bfe-ec42-4fdc-969c-3f929dcc src=192.168.1.130 ssoType=azure duser=egor.zaidov@ics-it.ru
Описание: Событие при инициализации, которое информирует, что SSO-аутентификация отключена.
Event ID: 1001
Message: «Disabled SSO auth»
Severity: 5 (warn)
Пример лога:
Apr 01 14:25:30 host CEF:0|Gramax|GES|1.0|1001|Disabled SSO auth|5
Описание: Административное изменение – добавление нового редактора.
Event ID: 4001
Message: «Add editor»
Severity: 3 (Info)
Расширения:
id— UUID запросаsrc— IP-адрес запросаsuser— идентификатор администратораnewValue— новое значение(редактор)
Пример лога:
Apr 01 14:35:45 host CEF:0|Gramax|GES|1.0|4001|Add editor|3|id=ad2e5f9c-4b3d-47e8-9a6d-3c2e8d4f src=192.168.1.104 suser=admin@example.com newValue="new_editor" groupId = gramax