Логи
Что такое логи в Astra Monitoring?
Логи — это структурированные или неструктурированные записи о событиях, генерируемые приложениями, серверами и сетевыми устройствами. В Astra Monitoring используется Vector как высокопроизводительный сборщик логов с поддержкой сложных пайплайнов обработки.
Основные характеристики:
Поддержка множества источников (файлы, syslog, journald, Docker, Kubernetes)
Гибкая обработка (парсинг, фильтрация, обогащение)
Хранение в ClickHouse для аналитики в реальном времени
Типы собираемых логов
Astra Monitoring может собирать практически любые виды логов:
Категория |
Примеры источников |
---|---|
Системные логи |
/var/log/syslog, journald, auth.log |
Приложений |
Nginx, Apache, PostgreSQL, Redis |
Контейнерные |
Docker, Kubernetes (stdout/stderr) |
Сетевые |
Firewall, IDS/IPS, сетевые устройства |
Кастомные |
Любые файловые логи или HTTP-эндпоинты |
Возможности работы с логами
Автоматически парсируемые поля
Каждый собранный лог в Astra Monitoring содержит стандартный набор полей:
Поле |
Описание |
Пример |
---|---|---|
Id |
Уникальный UUID лога |
«abc123-456-def-789» |
Time |
Время события (если не указано — now()) |
«2023-10-25T14:30:00Z» |
Message |
Полный текст сообщения |
«Error: Connection timeout» |
Hostname |
Имя хоста-источника (unknown если не определяется) |
«web-server-01» |
Level |
Уровень критичности (см. раздел 4) |
«error» |
ServiceName |
Имя сервиса/приложения (unknown по умолчанию) |
«nginx» |
AgentID |
Идентификатор агента, который собрал лог |
«agent-id-789» |
Labels |
Дополнительные метки (см. раздел 5) |
{«env»: «prod», «dc»: «eu»} |
Уровни критичности (Level)
Поле Level автоматически парсится из текста лога. Поддерживается 7 уровней:
Полная таблица распознавания:
Уровень |
Распознаваемые ключевые слова/цифры |
---|---|
fatal |
«fatal», «critical», «crit», «emerg», «emergency», «alert», «panic», «severe», «catastrophic», «0», «1» |
error |
«error», «err», «er», «fail», «failure», «exception», «fault», «2», «3» |
warning |
«warning», «warn», «wrn», «caution», «attention», «important», «advisory», «4» |
info |
«info», «inf», «information», «notice», «message», «msg», «normal», «ok», «success», «5», «6» |
debug |
«debug», «dbg», «trace», «test», «verbose», «detail», «dev», «7», «8», «9» |
unknown |
Все остальные варианты |
Примеры автоматического определения:
«2023-10-25 ERROR: Disk full» → Level = «error»
«[WRN] High memory usage» → Level = «warning»
«user login failed» → Level = «unknown»
Дополнительные метки (Labels)
Поле Labels позволяет добавлять произвольные ключ-значения для глубокого анализа:
Особенности:
Неограниченное количество меток
Используются для:
Фильтрации (env=prod)
Группировки (by(dc))
Построения дашбордов
Способы добавления меток:
Автоматически из JSON-логов:
{
"message": "DB query failed",
"env": "production",
"user_id": 12345
}
Преобразуется в:
Labels = {"env": "production", "user_id": "12345"}
Через конфиг (transform-обработчик):
transforms:
add_tags:
type: add_fields
inputs:
- apache_logs
fields:
env: prod
Обогащение логов
Автоматическое обогащение
Для JSON-логов — поля распаршеные но не попавшие в стандартную схему становятся метками
Для текстовых логов — применяются Grok-шаблоны (например, для Nginx)
Ручная настройка через конфигурации
Пример конфигурации для добавления метаданных:
transforms:
enrich_logs:
type: remap
inputs:
- raw_logs
source: |
. |= parse_json!(.message) # Парсим JSON если возможно
.label.dc = "moscow-west3" # Добавляем метку дата-центра
Хранение логов
Astra Monitoring использует высокопроизводительную масштабируемую базу данных ClickHouse для хранения логов, что дает:
Преимущество |
Польза для анализа логов |
---|---|
Высокая скорость |
Запросы по терабайтам данных выполняются за секунды |
Сжатие данных |
Экономия 80-90% места без потери информации (алгоритмы LZ4, ZSTD) |
SQL-подобный синтаксис |
Знакомый интерфейс для сложных аналитических запросов |
Поддержка индексов |
Быстрый поиск по полям (Hostname, Level) |
Горизонтальное масштабирование |
Возможность обработки миллионов событий в секунду |
Astra Monitoring предоставляет:
Универсальный сбор логов с поддержкой 50+ источников
Автоматическую структуризацию:
Мощную аналитику благодаря ClickHouse:
Молниеносные запросы
Поддержка сложных агрегаций