Потоковая передача NetFlow в Ключ-АСТРОМ с Fluentd

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

Потоковая передача NetFlow в Ключ-АСТРОМ с Fluentd

Вы можете отправлять сетевые потоки в Ключ-АСТРОМ с помощью Fluentd. Настройте плагин Fluentd для отправки записей NetFlow в API общей загрузки логов Ключ-АСТРОМ. Также доступны другие плагины Fluentd, поддерживающие протоколы IPFIX или sFlow.

Возможности

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

Конфигурация

Настройте конвейер от производителя записей NetFlow через Fluentd в Ключ-АСТРОМ, выполнив следующие шаги:

  1. Получите токен API Ключ-АСТРОМ с областью действия logs.ingest (Ingest Logs).
  2. Разверните Fluentd в соответствии с вашими предпочтениями.
    • Разверните Fluentd. Fluentd также может работать как DaemonSet в кластере Kubernetes. Встроенная отказоустойчивость обеспечивает полноту и согласованность данных, даже если Fluentd или служба конечной точки временно недоступны.
  3. Установите плагин NetFlow для Fluentd, например repeatedly.
  4. Настройте плагин NetFlow: по умолчанию плагин настроен на приём пакетов NetFlow v9 из любого источника (0.0.0.0) на порту 5140 с тайм-аутом обновления кэша 4000 секунд. Если эти параметры соответствуют вашим требованиям, ничего больше не нужно. Однако следующие параметры можно изменить под конкретные нужды:
<source>
  @type netflow
  tag netflow.event
  # необязательные параметры
  bind 0.0.0.0
  port 5140
  cache_ttl 4000
  versions 9
  definitions /path/to/custom_fields.yaml
</source>
  1. Используйте плагин Fluentd Ключ-АСТРОМ для потоковой передачи логов, созданных плагином NetFlow для Fluentd, в Ключ-АСТРОМ. Плагин Fluentd Ключ-АСТРОМ с открытым исходным кодом использует общую загрузку логов через API мониторинга логов v2 — POST ingest logs.
  2. Настройте ваши сетевые устройства на отправку записей NetFlow в Fluentd.

Отправка записей NetFlow на удалённую конечную точку

В примере ниже вы можете настроить сетевое устройство Cisco для отправки записей NetFlow в Fluentd. Фактическая конфигурация NetFlow может отличаться в зависимости от модели и версии устройства Cisco.

Конфигурация на глобальном уровне:

ip flow-export destination 192.168.0.1 2055
ip flow-export source lo0
ip flow-export version 9
ip flow-cache timeout active 1
ip flow-cache timeout inactive 15
snmp-server ifindex persist

Включите NetFlow на каждом интерфейсе уровня 3, для которого хотите мониторить трафик:

interface <interface>
ip flow ingress

Добавление атрибутов к NetFlow в Fluentd

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

Пример

Добавьте атрибут log.source на основе источника записей NetFlow в Fluentd. Записи NetFlow часто нуждаются в дополнительном контексте для различения источников во время анализа. В этом примере в Fluentd открыты две отдельные конечные точки NetFlow: одна для устройств межсетевого экрана, принадлежащих сети DMZ (демилитаризованная зона), использующая UDP-порт 2055, и другая для граничных маршрутизаторов, использующая другой порт. Это помогает декорировать потоки логов значимым атрибутом log.source. Файл конфигурации Fluentd должен выглядеть так:

<source>
  @type netflow
  port 2055
  bind 0.0.0.0
  tag dmz
</source>

<source>
  @type netflow
  port 9995
  bind 10.10.10.1
  tag edge
</source>

Вам нужно добавить атрибут log.source на основе тега Fluentd.

<filter dmz.**>
 @type record_transformer
 <record>
   log.source "cisco dmz"
 </record>

</filter>

<filter edge.**>

 @type record_transformer
 <record>
   log.source "cisco edge"
 </record>
</filter>

Дополнительные сведения см. в документации по плагину фильтра record_transformer для Fluentd.

Заключение

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