ВкратцеСобирайте и визуализируйте системные логи EC2 в ClickStack с помощью OpenTelemetry Collector с автоматическим обогащением метаданными EC2 (ID экземпляра, регион, AZ, тип инстанса). Включает демо-набор данных и преднастроенный дашборд.
Интеграция с существующим экземпляром EC2
ClickStack запущен на том же экземпляре EC2?Если ClickStack работает на том же экземпляре EC2, журналы которого вы хотите отслеживать, можно использовать подход all-in-one, аналогичный руководству Generic Host Logs. Подмонтируйте
/var/log в контейнер ClickStack и добавьте процессор resourcedetection в свою пользовательскую конфигурацию, чтобы автоматически получать метаданные EC2. В этом руководстве рассматривается более распространенная для production-развертываний распределенная архитектура.Предварительные требования
- Запущенный экземпляр ClickStack (может быть развернут в собственной инфраструктуре, в облаке или локально)
- Запущенный экземпляр EC2 (Ubuntu, Amazon Linux или другой дистрибутив Linux)
- У экземпляра EC2 есть сетевой доступ к конечной точке OTLP ClickStack (порт 4318 для HTTP или 4317 для gRPC)
- Есть доступ к службе метаданных экземпляра EC2 (по умолчанию включена)
Убедитесь, что метаданные EC2 доступны
На экземпляре EC2 убедитесь, что служба метаданных доступна:- Сервис метаданных экземпляра включен
- IMDSv2 не блокируется группами безопасности или сетевыми ACL
- Вы запускаете эти команды непосредственно из самого экземпляра EC2
Метаданные EC2 доступны по адресу
http://169.254.169.254 изнутри экземпляра. Процессор OpenTelemetry resourcedetection использует эту конечную точку, чтобы автоматически дополнять журналы облачным контекстом.Установите OpenTelemetry Collector
Установите дистрибутив OpenTelemetry Collector Contrib на своем экземпляре EC2:Создание конфигурации коллектора
Создайте файл конфигурации для OpenTelemetry Collector по пути/etc/otelcol-contrib/config.yaml:- Современные версии Linux (Ubuntu 24.04+)
- Старые версии Linux (Amazon Linux 2, RHEL, старые версии Ubuntu)
Замените следующее в конфигурации:
YOUR_CLICKSTACK_HOST: Имя хоста или IP-адрес, по которому доступен ClickStack- Для локального тестирования можно использовать SSH-туннель (см. раздел «Устранение неполадок»)
- Считывает системные файлы журналов из стандартных путей (
/var/log/syslogдля Ubuntu,/var/log/messagesдля Amazon Linux/RHEL) - Разбирает формат syslog для извлечения структурированных полей (временная метка, hostname, unit/service, PID, сообщение)
- Автоматически определяет и добавляет метаданные EC2 с помощью процессора
resourcedetection - При наличии также может включать теги EC2 (Name, Environment, Team)
- Отправляет журналы в ClickStack по OTLP HTTP
Обогащение метаданными EC2Процессор
resourcedetection автоматически добавляет следующие атрибуты в каждый лог:cloud.provider: “aws”cloud.platform: “aws_ec2”cloud.region: регион AWS (например, “us-east-1”)cloud.availability_zone: зона доступности (AZ) (например, “us-east-1a”)cloud.account.id: ID аккаунта AWShost.id: ID экземпляра EC2 (например, “i-1234567890abcdef0”)host.type: тип инстанса (например, “t3.medium”)host.name: hostname экземпляра
Задайте API-ключ ClickStack
Экспортируйте API-ключ ClickStack в переменную окружения:Запустите коллектор
Запустите OpenTelemetry Collector:Для использования в продакшенеНастройте OpenTelemetry Collector для запуска как службу systemd, чтобы он автоматически запускался при загрузке системы и перезапускался при сбоях. Подробности см. в документации OpenTelemetry Collector.
Проверка журналов в HyperDX
После запуска коллектора войдите в HyperDX и убедитесь, что журналы поступают вместе с метаданными EC2:- Перейдите в представление Search
- В поле source выберите
Logs - Отфильтруйте по
source:ec2-host-logs - Нажмите на запись в журнале, чтобы развернуть её
- Убедитесь, что в атрибутах ресурса отображаются метаданные EC2:
cloud.providercloud.regionhost.id(ID экземпляра)host.type(тип инстанса)cloud.availability_zone
Демо-набор данных
Скачайте пример набора данных
Скачайте пример файла журнала:- Последовательность загрузки системы
- Активность входа по SSH (успешные и неуспешные попытки)
- Инцидент безопасности (атака методом перебора и реакция fail2ban)
- Плановое обслуживание (задания cron, anacron)
- Перезапуски службы (rsyslog)
- Сообщения ядра и активность межсетевого экрана
- Сочетание штатных операций и примечательных событий
Создайте тестовую конфигурацию коллектора
Создайте файлec2-host-logs-demo.yaml со следующей конфигурацией:Для демонстрации мы вручную добавляем метаданные EC2 с помощью процессора
resource. В рабочей среде с реальными инстансами EC2 используйте процессор resourcedetection, который автоматически обращается к API метаданных EC2.Запустите ClickStack с демонстрационной конфигурацией
Запустите ClickStack с демонстрационными журналами и демонстрационной конфигурацией:Проверьте журналы в HyperDX
После запуска collector:- Откройте HyperDX и войдите в свою учетную запись (возможно, сначала потребуется создать ее)
- Перейдите в представление поиска и выберите источник
Logs - Установите временной диапазон 2025-11-10 00:00:00 - 2025-11-13 00:00:00
- Отфильтруйте по
source:ec2-demo - Разверните запись в журнале, чтобы просмотреть метаданные EC2 в атрибутах ресурса
Отображение часового поясаHyperDX отображает временные метки в локальном часовом поясе вашего браузера. Демо-данные охватывают период 2025-11-11 00:00:00 - 2025-11-12 00:00:00 (UTC). Широкий временной диапазон гарантирует, что вы увидите демо-журналы независимо от своего местоположения. Когда журналы появятся, вы сможете сузить диапазон до 24 часов для более наглядных визуализаций.
- ID экземпляра:
i-0abc123def456789 - Регион:
us-east-1 - Зона доступности:
us-east-1a - Тип инстанса:
t3.medium
Панели мониторинга и визуализация
конфигурацию панели мониторинга
Импортируйте преднастроенную панель мониторинга
- Откройте HyperDX и перейдите в раздел Dashboards
- Нажмите Import Dashboard в правом верхнем углу в меню с многоточием
- Загрузите файл
host-logs-dashboard.jsonи нажмите Finish Import
Просмотрите панель мониторинга
Панель мониторинга будет создана со всеми преднастроенными визуализациями:Вы можете фильтровать визуализации на панели мониторинга по контексту EC2:cloud.region:us-east-1- показать журналы из конкретного регионаhost.type:t3.medium- фильтрация по типу инстансаhost.id:i-0abc123def456- журналы с конкретного инстанса
Для демо-набора данных установите временной диапазон 2025-11-11 00:00:00 - 2025-11-12 00:00:00 (UTC) (скорректируйте его в соответствии с вашим местным часовым поясом). В импортированной панели мониторинга временной диапазон по умолчанию не задан.
Устранение неполадок
Метаданные EC2 не отображаются в журналах
- Служба метаданных экземпляра включена
- IMDSv2 не блокируется группами безопасности
- Вы запускаете коллектор на самом экземпляре EC2
Журналы не отображаются в HyperDX
Некорректный разбор журналов
Коллектор не запускается как служба systemd
- API-ключ задан в переменных окружения некорректно
- Ошибки синтаксиса в файле конфигурации
- Проблемы с правами доступа при чтении файлов журнала
Следующие шаги
- Настройте оповещения о критических системных событиях (сбои сервиса, ошибки аутентификации, предупреждения о проблемах с диском)
- Фильтруйте по атрибутам метаданных EC2 (регион, тип инстанса, ID экземпляра), чтобы отслеживать конкретные ресурсы
- Коррелируйте журналы хоста EC2 с журналами приложений для комплексной диагностики
- Создавайте пользовательские панели мониторинга для мониторинга безопасности (попытки SSH, использование sudo, блокировки межсетевым экраном)