Расширение с помощью ЕдиногоАгента

Материал из Документация Ключ-АСТРОМ

В следующем примере конфигурации показано, как настроить экземпляр Collector для обогащения данных OpenTelemetry сущностями хоста ЕдиногоАгента.

Обогащение используется для связывания данных OpenTelemetry с хостом ЕдиногоАгента и их корректной интеграции в топологическую модель. Например, при получении логов с разных хостов привязка сущности хоста к соответствующим данным логов позволяет выполнять задачи аналитики логов на уровне хоста.

Контейнерные среды

Обогащение специфично для сред ЕдиногоАгента, не использующих контейнеры. Настройка обогащения для контейнеризированного Collector может привести к некорректным ассоциациям хостов и топологии.

Предустановка

Информацию о настройке Collector с использованием указанной ниже конфигурации см. в разделах Развертывание коллектора и Конфигурация коллектора.

Демо конфигурация

receivers:

  otlp:

    protocols:

      grpc:

        endpoint: 0.0.0.0:4317

      http:

        endpoint: 0.0.0.0:4318

processors:

  resourcedetection/astromkey:

    detectors: [astromkey]

    override: false

exporters:

  otlphttp:

    endpoint: ${env:DT_ENDPOINT}

    headers:

      Authorization: "Api-Token ${env:DT_API_TOKEN}"

service:

  pipelines:

    traces:

      receivers: [otlp]

      processors: [resourcedetection/astromkey]

      exporters: [otlphttp]

    metrics:

      receivers: [otlp]

      processors: [resourcedetection/astromkey]

      exporters: [otlphttp]

    logs:

      receivers: [otlp]

      processors: [resourcedetection/astromkey]

      exporters: [otlphttp]

Компоненты

Для нашей конфигурации мы настраиваем следующие компоненты.

Приемники

В разделе receivers мы указываем стандартный приемник otlp, как активный компонент приемника для нашего экземпляра Collector.

Это сделано в основном для демонстрационных целей. Вы можете указать здесь любой другой допустимый получатель (например, zipkin).

Процессоры

В разделе processors мы указываем процессор resourcedetection и настраиваем его с помощью детектора astromkey, специфичного для Ключ-АСТРОМ.

При такой конфигурации процессор детектора ресурсов попытается загрузить следующие два атрибута из файла обогащения ЕдиногоАгента :

  • dt.entity.host
  • host.name

Если детектор ресурсов успешно загрузит эти значения, он добавит их в качестве атрибутов ресурсов в запрос OTLP. Дополнительная настройка процессора не требуется.

Экспортеры

В разделе exporters мы указываем экспортер otlphttp по умолчанию и настраиваем его с помощью URL-адреса нашего API astromkey и требуемого токена аутентификации.

Для этой цели мы устанавливаем следующие две переменные среды и ссылаемся на них в значениях конфигурации для endpoint и headers.

  • DT_ENDPOINT содержит базовый URL-адрес конечной точки API astromkey (например, https://{your-environment-id}.live.astromkey.com/api/v2/otlp)
  • DT_API_TOKEN содержит токен API

Сервисные контейнеры

В разделе service мы собираем объекты приемника, процессора и экспортера в сервисные контейнеры, которые будут выполнять следующие шаги:

  • принимать запросы OTLP на настроенных портах
  • обогащать их данными хоста, соответствующими Ключ-АСТРОМ, используя процессор детектора ресурсов
  • и экспортировать обогащенные данные в Ключ-АСТРОМ