Прием пакетов NetFlow
В следующем примере конфигурации показано, как настроить экземпляр Collector для приема пакетов NetFlow и их передачи в виде запросов OTLP в Ключ-АСТРОМ.
Предустановка
- Один из следующих дистрибутивов Collector с приемником NetFlow :
- URL-адрес конечной точки API Ключ-АСТРОМ, на которую следует экспортировать данные.
- Токен API с соответствующей областью доступа (требуется только для SaaS и АктивногоШлюза)
Информацию о настройке Collector с использованием указанной ниже конфигурации см. в разделах Развертывание коллектора и Конфигурация коллектора.
Конфигурация Collector
| receivers:
netflow: hostname: "0.0.0.0" scheme: netflow port: 2055 sockets: 2 workers: 4 processors: batch: send_batch_size: 30 timeout: 30s exporters: otlphttp: endpoint: ${env:DT_ENDPOINT} headers: Authorization: "Api-Token ${env:DT_API_TOKEN}" service: pipelines: logs: receivers: [netflow] processors: [batch] exporters: [otlphttp] |
Проверьте документацию по приемнику NetFlow на предмет доступных вариантов конфигурации.
Мы рекомендуем установить параметр sockets равным количеству ядер ЦП, доступных на экземпляре Collector, а этот параметр workers — равным удвоенному количеству сокетов. Такая конфигурация позволяет Collector обрабатывать несколько входящих пакетов NetFlow одновременно, что повышает производительность.
Для очень больших объемов данных следует распараллелить конфигурацию между несколькими экземплярами Collector.
Компоненты
Для нашей конфигурации мы настраиваем следующие компоненты.
Приемники
В разделе receivers мы указываем приемник netflow, как активный компонент приемника для нашего экземпляра Collector и настраиваем его на прослушивание указанных портов.
Процессоры
В разделе processors «Укажите процессор batch», который объединяет входящие пакеты NetFlow перед отправкой в Ключ-АСТРОМ. Это полезно для оптимизации производительности и сокращения количества отправляемых запросов.
Экспортеры
В разделе exporters мы указываем экспортер otlphttp по умолчанию и настраиваем его с помощью URL-адреса нашего API Ключ-АСТРОМ и требуемого токена аутентификации.
Для этой цели мы устанавливаем следующие две переменные среды и ссылаемся на них в значениях конфигурации для endpoint и Authorization.
DT_ENDPOINTсодержит базовый URL-адрес конечной точки API Dynatrace (например,https://{your-environment-id}.live.dynatrace.com/api/v2/otlp)DT_API_TOKENсодержит токен API
Сервисные контейнеры
В разделе service мы собираем объекты приемника и экспортера в контейнер логов, который будет прослушивать настроенный адрес на предмет входящих пакетов NetFlow и пересылать их в Ключ-АСТРОМ с помощью экспортера.
Визуализация данных
Записи логов будут доступны в Ключ-АСТРОМ с полями, задокументированными в документации приемника.
Примеры DQL-запросов
- Извлеките все логи NetFlow и просуммируйте байты и пакеты по адресам источника и назначения:
| fetch logs
| filter otel.scope.name == "otelcol/netflowreceiver" | summarize {bytes=sum(toDouble(flow.io.bytes)), packets=sum(toDouble(flow.io.packets))}, by: {source = source.address, destination = destination.address} | fieldsAdd bytes_relative=bytes | fieldsAdd packets_relative=packets | sort bytes desc |
- Выберите часто используемые порты:
| fetch logs
| filter otel.scope.name == "otelcol/netflowreceiver" | summarize {bytes=sum(toDouble(flow.io.bytes))}, by: {port = destination.port} | sort bytes desc | limit 10 |

