Логи


Что такое логи в 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 предоставляет:

  1. Универсальный сбор логов с поддержкой 50+ источников

  2. Автоматическую структуризацию:

  3. Мощную аналитику благодаря ClickHouse:

  4. Молниеносные запросы

  5. Поддержка сложных агрегаций