Миграция агентов из Elastic
- Семейство Beats — например, Filebeat, Metricbeat и Packetbeat — основано на библиотеке
libbeat. Эти Beats поддерживают отправку данных в Elasticsearch, Kafka, Redis или Logstash по протоколу Lumberjack. Elastic Agent— это унифицированный агент, способный собирать журналы, метрики и трассировки. Им можно централизованно управлять через Elastic Fleet Server, также он поддерживает вывод в Elasticsearch, Logstash, Kafka или Redis.- Elastic также предоставляет дистрибутив OpenTelemetry Collector — EDOT. Хотя сейчас им нельзя управлять через Fleet Server, он предлагает более гибкий и открытый путь при миграции на ClickStack.
Предпочтительный путь миграции
Почему OpenTelemetry Collector?OpenTelemetry Collector предоставляет устойчивое, не зависящее от вендора решение для ингестии данных обсервабилити. Мы понимаем, что некоторые организации управляют парком из тысяч — а иногда и десятков тысяч — агентов Elastic. Для таких пользователей поддержание совместимости с существующей инфраструктурой агентов может быть критически важным. Эта документация призвана поддержать такой сценарий, а также помочь командам постепенно перейти на сбор данных на базе OpenTelemetry.
Конечная точка ClickHouse OpenTelemetry
Миграция с Beats
Установка Vector
Установите Vector, следуя официальному руководству по установке.Его можно установить на том же инстансе, где развернут ваш OTel collector для Elastic Stack.Вы можете воспользоваться рекомендациями по архитектуре и безопасности при подготовке Vector к промышленной эксплуатации.Настройка vector
Vector необходимо настроить для приёма событий по протоколу Lumberjack, имитируя экземпляр Logstash. Для этого нужно настроить источникlogstash для Vector:Настройка TLSЕсли требуется взаимный TLS, сгенерируйте сертификаты и ключи, следуя руководству Elastic “Настройка SSL/TLS для вывода Logstash”. Затем их можно указать в конфигурации, как показано выше.
beats. Скрипт переопределения приведён ниже. Он протестирован только с событиями логов, однако может служить основой для работы с другими форматами.VRL — из ECS в OTel
VRL — из ECS в OTel
remap_filebeat на входе:YOUR_INGESTION_API_KEY здесь генерируется ClickStack. Ключ можно найти в интерфейсе ClickStack (HyperDX) в разделе Team Settings → API Keys.Итоговая полная конфигурация приведена ниже:Настройка Filebeat
Существующие установки Filebeat достаточно просто перенастроить, чтобы они отправляли события в Vector. Для этого нужно настроить выход Logstash — при необходимости также можно настроить TLS:Переход с Elastic Agent
- Настройте агент на отправку данных в конечную точку Vector по протоколу Lumberjack. На данный момент этот вариант протестирован только для пользователей, которые собирают с помощью Elastic Agent только логи. Это можно централизованно настроить через интерфейс Fleet в Kibana.
- Запустите агент как Elastic OpenTelemetry Collector (EDOT). Elastic Agent включает встроенный EDOT Collector, который позволяет один раз инструментировать приложения и инфраструктуру, а затем отправлять данные нескольким вендорам и в разные бэкенды. В этой конфигурации можно просто настроить EDOT Collector на пересылку событий в OTel collector ClickStack по OTLP. Этот подход поддерживает все типы событий.
Отправка данных через Vector
Установка и настройка Vector
Установите и настройте Vector, выполнив те же шаги, что описаны в инструкции по миграции с Filebeat.Настройка Elastic Agent
Elastic Agent необходимо настроить на отправку данных через протокол Lumberjack для Logstash. Это поддерживаемый сценарий развертывания; его можно настроить централизованно или через файл конфигурации агентаelastic-agent.yaml, если развертывание выполняется без Fleet.Централизованную настройку через Kibana можно выполнить, добавив Output в Fleet.Затем этот output можно использовать в политике агента. Это означает, что все агенты, использующие эту политику, будут автоматически отправлять данные в Vector.Поскольку для этого требуется настроить безопасное соединение по TLS, рекомендуем руководство “Настройка SSL/TLS для Logstash output”. При его выполнении считайте, что экземпляр Vector пользователя выступает в роли Logstash.Обратите внимание: для этого пользователям также нужно настроить источник Logstash в Vector на взаимный TLS. Используйте ключи и сертификаты, созданные по этому руководству, чтобы соответствующим образом настроить входной источник.Запуск Elastic Agent в качестве OpenTelemetry Collector
Интеграции агента и оркестрацияПользователи, запускающие коллектор EDOT, поставляемый вместе с Elastic Agent, не смогут использовать существующие интеграции агента. Кроме того, коллектором нельзя централизованно управлять через Fleet, из-за чего пользователю придется запускать агент в автономном режиме и самостоятельно управлять конфигурацией.
exporters и настройте вывод OTLP, чтобы отправлять данные в коллектор ClickStack OpenTelemetry. Например, конфигурация exporters будет такой:
Управляемый ClickStackПо умолчанию ключ API для ингестии ClickStack не требуется, если вы запускаете OpenTelemetry Collector в автономном режиме для Управляемого ClickStack. Однако ингестию можно защитить, указав токен аутентификации OTLP. См. “Защита коллектора”.
YOUR_INGESTION_API_KEY здесь генерируется в ClickStack. Найти его можно в интерфейсе ClickStack в разделе Team Settings → API Keys.
Если Vector настроен на использование взаимного TLS, а сертификат и ключи сгенерированы по инструкции из руководства “Настройка SSL/TLS для вывода Logstash”, то экспортер otlp нужно настроить соответствующим образом, например: