Получение данных из файла логов: различия между версиями
(Новая страница: «В следующем примере конфигурации показано, как настроить экземпляр '''Collector''' для монитор...») |
|||
| Строка 40: | Строка 40: | ||
exporters: | exporters: | ||
otlphttp/ | otlphttp/astromkey: | ||
endpoint: ${env:DT_ENDPOINT} | endpoint: ${env:DT_ENDPOINT} | ||
| Строка 58: | Строка 58: | ||
processors: [] | processors: [] | ||
exporters: [otlphttp/ | exporters: [otlphttp/astromkey] | ||
|} | |} | ||
| Строка 102: | Строка 102: | ||
Для этой цели мы устанавливаем следующие две переменные среды и ссылаемся на них в значениях конфигурации для <code>endpoint</code> и <code>Authorization</code>. | Для этой цели мы устанавливаем следующие две переменные среды и ссылаемся на них в значениях конфигурации для <code>endpoint</code> и <code>Authorization</code>. | ||
* <code>DT_ENDPOINT</code> содержит базовый [[Экспорт с помощью OTLP|URL-адрес конечной точки API Ключ-АСТРОМ]] (например, <code><nowiki>https://{your-environment-id}.live. | * <code>DT_ENDPOINT</code> содержит базовый [[Экспорт с помощью OTLP|URL-адрес конечной точки API Ключ-АСТРОМ]] (например, <code><nowiki>https://{your-environment-id}.live.astromkey.com/api/v2/otlp</nowiki></code>) | ||
* <code>DT_API_TOKEN</code> содержит токен API | * <code>DT_API_TOKEN</code> содержит токен API | ||
=== Сервисные контейнеры === | === Сервисные контейнеры === | ||
В <code>service</code> в конечном итоге мы собираем наши объекты приемника и экспортера в контейнер трассировок, который будет непрерывно отслеживать настроенные файлы и загружать их записи в Ключ-АСТРОМ с помощью OTLP. | В <code>service</code> в конечном итоге мы собираем наши объекты приемника и экспортера в контейнер трассировок, который будет непрерывно отслеживать настроенные файлы и загружать их записи в Ключ-АСТРОМ с помощью OTLP. | ||
Текущая версия на 04:36, 8 октября 2025
В следующем примере конфигурации показано, как настроить экземпляр Collector для мониторинга файлов логов и отправки записей логов в бэкэнд Ключ-АСТРОМ.
Предустановка
- Один из следующих дистрибутивов Collector с приемником Filelog :
- URL-адрес конечной точки API Ключ-АСТРОМ, на которую следует экспортировать данные.
- Токен API с соответствующей областью доступа (требуется только для SaaS и АктивногоШлюза)
Информацию о настройке Collector с использованием указанной ниже конфигурации см. в разделах Развертывание коллектора и Конфигурация коллектора.
Демо конфигурация
| receivers:
filelog: include: [ /path/to/file.log ] start_at: beginning operators: - type: regex_parser regex: '^(?P<time>\d{4}-\d{2}-\d{2}) (?P<sev>[A-Z]*) (?P<msg>.*)$' timestamp: parse_from: attributes.time layout: '%Y-%m-%d' severity: parse_from: attributes.sev exporters: otlphttp/astromkey: endpoint: ${env:DT_ENDPOINT} headers: "Authorization": "Api-Token ${env:DT_API_TOKEN}" service: pipelines: logs: receivers: [filelog] processors: [] exporters: [otlphttp/astromkey] |
Пример файла логов
Для демонстрационной конфигурации, представленной выше, мы анализируем файл file.log в следующем формате:
| 1970-01-01 INFO Something routine
1970-01-01 ERROR Some error occurred! 1970-01-01 DEBUG Some details... |
Каждая строка начинается с временной метки ISO 8601, за которой следует уровень серьезности записи и заканчивается сообщением логов.
Мы разбираем каждую строку на отдельные части с помощью следующего регулярного выражения:
| ^(?P<time>\d{4}-\d{2}-\d{2}) (?P<sev>[A-Z]*) (?P<msg>.*)$ |
Помимо двух утверждений начала (^) и конца ($) строки, у нас есть следующие именованные группы захвата:
(?P<time>\d{4}-\d{2}-\d{2})— Присваивает имя своей группе захватаtimeи сопоставляет ее с типичной временной меткой ISO 8601.(?P<sev>[A-Z]*)— Именует свою группу захватаsevи сопоставляет произвольное количество латинских заглавных символов.(?P<msg>.*)— Присваивает имя своей группе захватаmsgи сопоставляет ее с произвольным количеством символов.
Компоненты
Для нашей конфигурации мы используем следующие компоненты.
Приемники
В разделе receivers мы указываем приемник filelog, как активный компонент приемника для нашего экземпляра Collector.
Приёмник Filelog поддерживает ряд параметров конфигурации, позволяющих настраивать его поведение. В нашем примере мы используем следующие:
include— Указывает шаблон пути к файлам, которые мы хотим загрузить.start_at— Указывает, должен ли получатель читать файл с начала или, только для самых последних записей, с конца.operators— Настраивает операторы, применяемые к каждой записи логов. В нашем примере мы используем оператор regex_parser для извлечения информации с помощью регулярного выражения.regex— Задаёт фактическое регулярное выражение. Используя именованные группы захвата ((?P<name>)), получатель делает захваченные данные доступными под соответствующим именемattributes.timestamp— Указывает, откуда брать временную метку записи (поле регулярного выраженияtime) и формат даты.severity— Указывает, откуда брать уровень серьезности записи (поле регулярного выраженияsev).
Экспортеры
В разделе exporters мы указываем экспортер по умолчанию otlphttp и настраиваем его с помощью URL-адреса нашего API Ключ-АСТРОМ и требуемого токена аутентификации.
Для этой цели мы устанавливаем следующие две переменные среды и ссылаемся на них в значениях конфигурации для endpoint и Authorization.
DT_ENDPOINTсодержит базовый URL-адрес конечной точки API Ключ-АСТРОМ (например,https://{your-environment-id}.live.astromkey.com/api/v2/otlp)DT_API_TOKENсодержит токен API
Сервисные контейнеры
В service в конечном итоге мы собираем наши объекты приемника и экспортера в контейнер трассировок, который будет непрерывно отслеживать настроенные файлы и загружать их записи в Ключ-АСТРОМ с помощью OTLP.