Приём записей NetFlow

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

Приём записей NetFlow в Ключ-АСТРОМ

Сетевая наблюдаемость обеспечивает необходимую видимость для понимания того, как приложения взаимодействуют с базовой сетью. Она позволяет командам более эффективно выявлять и устранять проблемы, начиная с мониторинга здоровья устройств и расширяя до сбора данных о потоках — таких как NetFlow — для отслеживания использования сети. Этот подход активно поддерживает оптимизацию производительности, повышает безопасность и упрощает устранение неполадок.

Это руководство показывает, как принимать записи NetFlow в Ключ-АСТРОМ, настроив коллектор и используя Дашборды и Notebooks для анализа данных о потоках.

Зачем мониторить сетевой поток с помощью Ключ-АСТРОМ?

Приём сетевых потоков в Ключ-АСТРОМ немедленно помещает эти данные в контекст. Данные, содержащиеся в сетевых потоках, дополняют поддерживаемые сетевые сценарии, связывая объём и направления потока с устройствами и интерфейсами. Данные сетевых потоков можно сравнивать с данными процесс-процесс, чтобы помочь решить проблемы приложений, вызванные сетью.

Как Ключ-АСТРОМ как платформа поддерживает приём NetFlow?

Ключ-АСТРОМ поддерживает такие протоколы сетевых потоков, как NetFlow, sFlow и IPFIX, через полностью поддерживаемую версию OpenTelemetry Collector. Выделенный приёмник сетевых потоков обеспечивает бесшовный приём данных о потоках в платформу Ключ-АСТРОМ для анализа и визуализации.

Предварительные требования

  • Дистрибутив Ключ-АСТРОМ Collector с приёмником NetFlow.
  • URL конечной точки API Ключ-АСТРОМ, в которую должны экспортироваться данные.
  • Токен платформы с областями openpipeline:logs:ingest и openpipeline:metrics:ingest, или классический токен доступа с областями Приём логов (logs.ingest) и Приём метрик (metrics.ingest).

Шаги

В этом примере мы развёртываем с помощью Docker, чтобы упростить демонстрацию. Для производственных сценариев мы рекомендуем развёртывание в качестве шлюза на кластере Kubernetes.

Чтобы настроить экземпляр Ключ-АСТРОМ Collector, создайте файл otel-collector-config.yaml и добавьте следующую конфигурацию:

Токен платформы

receivers:
  netflow:
      scheme: netflow
      port: 2055
      sockets: 16
      workers: 32
  netflow/sflow:
      scheme: sflow
      port: 6343
      sockets: 16
      workers: 32

exporters:
  otlp_http:
    endpoint: "${env:DT_ENDPOINT}"
    headers:
      Authorization: "Bearer ${env:DT_PLATFORM_TOKEN}"
    sending_queue:
      batch:
        min_size: 1800
        max_size: 2000
        flush_timeout: 60s

service:
  pipelines:
    logs:
      receivers: [netflow, netflow/sflow]
      processors: [batch]
      exporters: [otlp_http]
  telemetry:
    logs:
      level: debug

Требуемые области: openpipeline:logs:ingest и openpipeline:metrics:ingest.

Классический токен доступа

receivers:
  netflow:
      scheme: netflow
      port: 2055
      sockets: 16
      workers: 32
  netflow/sflow:
      scheme: sflow
      port: 6343
      sockets: 16
      workers: 32

exporters:
  otlp_http:
    endpoint: "${env:DT_ENDPOINT}"
    headers:
      Authorization: "Api-Token ${env:DT_API_TOKEN}"
    sending_queue:
      batch:
        min_size: 1800
        max_size: 2000
        flush_timeout: 60s

service:
  pipelines:
    logs:
      receivers: [netflow, netflow/sflow]
      processors: [batch]
      exporters: [otlp_http]
  telemetry:
    logs:
      level: debug

Проверьте документацию приёмника NetFlow для доступных параметров конфигурации.

Создайте файл .env, чтобы добавить переменные DT_ENDPOINT и либо DT_PLATFORM_TOKEN, либо DT_API_TOKEN.

DT_ENDPOINT — это конечная точка сервера API Ключ-АСТРОМ. Она содержит базовый URL конечной точки API Ключ-АСТРОМ. Например, https://{your-environment-id}.live.astromkey.com/api/v2/otlp.

Одна переменная токена, в зависимости от используемого типа токена:

  • Токен платформы: DT_PLATFORM_TOKEN содержит ваш токен платформы с областями openpipeline:logs:ingest и openpipeline:metrics:ingest.
  • Классический токен доступа: DT_API_TOKEN содержит ваш классический токен доступа с областями Приём логов (logs.ingest) и Приём метрик (metrics.ingest).

Убедитесь, что ваш файл .env должным образом защищён и не доступен неавторизованным лицам, так как он содержит конфиденциальную информацию.

Создание токена аутентификации

Для аутентификации создайте один из следующих:

Токен платформы:

  1. Перейдите в раздел Мои токены платформы.
  2. Создайте токен платформы с требуемой областью (указана ниже).

Классический токен доступа:

  1. Перейдите в раздел Токены доступа.
  2. Выберите Создать новый токен.
  3. Введите имя вашего токена.
  4. Выберите требуемые области, перечисленные ниже.
  5. Выберите Создать токен.
  6. Скопируйте созданный токен. Сохраните его в безопасном месте — вы можете получить к нему доступ только один раз.

Требуемые области:

  • Токен платформы: openpipeline:logs:ingest
  • Классический токен доступа: Приём логов (logs.ingest)

Запустите образ Collector в Docker с помощью следующей команды:

docker run -p 2055:2055 --env-file ./.dt_token.env -v $(pwd)/otel-collector-config.yaml:/etc/otelcol/otel-collector-config.yaml ghcr.io/astromkey/astromkey-otel-collector/astromkey-otel-collector:0.33.0 --config=/etc/otelcol/otel-collector-config.yaml

После завершения процесса вы можете начать запуск и обработку данных.

Если вы хотите, чтобы процесс работал в фоновом режиме, вы можете завершить его и запустить снова с опцией -d.

Направьте ваши сетевые устройства на отправку записей NetFlow в Collector.

Конфигурация сетевого устройства зависит от поставщика. Она должна указывать IP-адрес конечной точки Ключ-АСТРОМ и соответствующий UDP-порт.

Визуализация и анализ данных

Анализ логов

Данные NetFlow принимаются как записи логов, которые можно запрашивать и визуализировать с помощью DQL. Вы можете использовать раздел Логи, чтобы искать логи контейнеров, захваченные ЕдиныйАгент для Collector.

Аналогично, раздел Логи может помочь вам увидеть, что трафик действительно проходит.

Дашборды

Раздел Дашборды предоставляет готовый дашборд Обзор NetFlow в качестве точки входа для изучения и визуализации данных NetFlow. Он включает предварительно настроенные графики и метрики для анализа сетевого трафика, такие как топовые источники, назначения, разговоры и использование портов.

Дашборд можно использовать как основу для дальнейшей настройки. Вы также можете создавать пользовательские дашборды для визуализации данных NetFlow, используя различные типы графиков.

Notebooks

Notebooks позволяет выполнять запросы и визуализировать данные NetFlow в интерактивном режиме. Вы можете открыть новый ноутбук из раздела Логи, перейдя в Открыть с помощью и выбрав Notebooks.

Пример запроса DQL

Используя этот запрос DQL, вы можете получить сводку байтов по IP-адресу и порту назначения:

fetch logs
| filter matchesValue(flow.type, "netflow_v9")
| summarize {totalBytes= sum(toLong(flow.io.bytes)),totalPackets=sum(toLong(flow.io.packets))}, by: {destination.address,destination.port}
| sort totalBytes desc
| limit 10