TGViewer
ServerAdmin.ru ServerAdmin.ru @srv_admin · 32.6K subscribers
Post #4733 9.24K
Вчера в подборке упомянул NetFlow collector GoFlow2, с которым я лично не работал никогда. Решил на него посмотреть. На первый взгляд кажется простым и удобным решением, которое состоит из одного исполняемого файла на Go с параметрами, передаваемыми через ключи запуска.

GoFlow2 может собирать данные из разных источников, объединять их и выгружать в json формате. А дальше данные можно забирать в любую систему обработки логов - Loki, Elasticsearch, Clicklhouse.

Достаточно скачать бинарник и запустить:

# ./goflow2 -transport=file -transport.file=/var/log/goflow/goflow2.log -format=json

Goflow2 запустится и будет слушать следующие порты:

◽️6343 для приёма sFlow
◽️2055 для приёма NetFlow
◽️8080 для передачи метрик о своей работе в формате Prometheus (url - /metrics)

Я для теста взял Mikrotik и в разделе IP ⇨ Traffic Flow ⇨ Targets указал IP адрес машины, где запустил Goflow2. Данные о трафике сразу полились в неё. Поднял рядом Prometheus, добавил job для сбра метрик коллектора:

 - job_name: 'goflow2'
  metrics_path: '/metrics'
  static_configs:
  - targets: ['10.20.1.9:8080']

К сожалению, не нашёл готового дашборда для Grafana. Похоже, его вообще не существует. Из полезных метрик непосредственно Goflow2 - информация о пакетах (goflow2_flow_traffic_packets_total) и байтах (goflow2_flow_traffic_bytes_total) с каждого источника. Можно просто отслеживать всплески и аномалии без детальной разбивки по направлениям и типам соединений. ИИ не смог мне родить рабочий дашборд, сколько его не мучал, только время потерял. В итоге вручную посмотрел на метрики и прикинул, что там может быть полезным. Метрик много, детально во все не вникал.

Дальше можно детально распарсить трафик из файлов, которые формирует goflow2. В репозитории есть пример, как это сделать с помощью ELK Stack. Там поднимается стандартный стек с обработчиком логов в виде Logstash. В compose файле прописаны образы из репозитория docker.elastic.co, к которому доступ из РФ закрыт. Можно просто заменить их на docker hub, то есть вместо docker.elastic.co/elasticsearch/elasticsearch:7.13.0 указать elasticsearch:7.13.0.

Я запустил этот docker-compose.yml и без проблем стартовал весь стек именно на указанных старых версиях. Можно более свежие поставить, но там больше заморочек с безопасностью и аутентификацией. Придётся https настраивать, учётные записи. Для проверки работы коллектора всё это не нужно.

После запуска через:

# docker-compose up

Необходимо зайти в Kibana по IP адресу сервера и порт 5601 и добавить новый индекс в разделе Stack Management ⇨ Index Management. В качестве index pattern укажите logstash-*, а в качестве time filter - @timestamp из выпадающего списка.

Теперь можно идти в Discover, выбирать шаблон индекса logstash-* и смотреть информацию по трафику. Так как источник данных уже в виде json, все поля проиндексированы и вы можете строить выборки по src_addr, dst_addr, dst_port и т.д.

Готового шаблона для Kibana я, к сожалению, тоже не нашёл. Так что это решение только для тех, кто работает с ELK и умеет создавать дашборды. Там нет чего-то сильно сложного, но с полтычка тоже не осилить. Надо уметь с ним работать. Можно настроить geo карту, суммировать трафик по направлениям и выводить лидеров, объединять запросы по TCP или UDP портам и т.д.

Я показал пример с ELK, но ничто не мешает эти же логи отправить, например, в Loki и смотреть их там. Либо в любое другое хранилище. Так как они в формате json, отдельно парсить их не надо.

В целом, GoFlow2 мне понравился. Никаких особых заморочек. Просто запускаешь и всё работает. Другое дело, что это не готовая система для анализа трафика, а просто сборщик. Дальнейшую обработку и визуализацию полученных данных нужно выполнять самостоятельно. Зато можно сделать так, как вам нужно. И это будет полностью бесплатно.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#netflow #elk
  • 👍 68
  • 👎 2
More from @srv_admin
  1. Oct 7, 2026❓Какие реальные возможности у 1С:Расширенная корпоративная лицензия (1С:РКЛ) и как компани…
  2. Oct 7, 2026Столкнулся на днях с типичной ситуацией, когда катастрофически вырос Load Average на серве…
  3. Oct 6, 2026🎉 10 лет Kaspersky Anti Targeted Attack — юбилейный стрим! Друзья, делимся анонсом важног…
  4. Oct 6, 2026Компания Selectel выкатила в public preview своего бесплатного ИИ-агента aish. Далее будет…
  5. Oct 5, 2026На прошлой неделе Mikrotik сделал рассылку с обзором своих новых продуктов. Я последние го…
  6. Oct 5, 2026🚀 Zabbix 8.0 на подходе. Запланируйте обучение команды уже сейчас В ближайшее время ожида…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →