Akvorado:专业的网络流量收集与可视化工具
项目概述
Akvorado是一款功能强大的网络流量管理工具,专门用于接收、处理和可视化网络流量数据。该项目由法国ISP Free开发,采用AGPLv3开源许可证,目前正处于活跃的开发阶段。
核心功能特性
多协议流量采集
Akvorado支持多种主流的流量数据协议,包括:
- NetFlow/IPFIX:端口2055和4739
- sFlow:端口6343
智能数据增强
通过集成多种数据源来丰富原始流量信息:
- SNMP协议:获取设备接口名称、描述和速度信息
- IPinfo.io服务:提供IP地址的地理位置信息
- MaxMind数据库:备选的地理位置数据源
高效数据处理管道
- 入口服务:接收原始流量数据并转发到Kafka
- 出口服务:从Kafka解析流量数据,应用元数据增强规则
- 编排服务:配置和管理其他组件,维护数据库结构
- 控制台服务:提供Web界面进行数据浏览和分析
系统架构设计
Akvorado采用模块化设计,四个核心组件协同工作:
入口服务作为数据接收端,负责从网络设备收集流量数据并转发到Kafka消息队列,整个过程不涉及数据解析。
出口服务承担数据处理核心角色,从Kafka获取数据后执行以下操作:
- 解析原始流量数据
- 通过SNMP轮询获取设备系统名称和接口信息
- 应用规则为设备添加属性
- 为每个接口分类边界类型、网络提供商和连接类型
- 可选接收BGP路由信息
- 将增强后的数据导出到ClickHouse
编排服务负责系统配置管理,创建Kafka主题,配置ClickHouse接收数据,并提供GeoIP数据等额外信息。
控制台服务为用户提供直观的Web界面,用于查看和分析存储在ClickHouse数据库中的流量数据。
安装部署指南
Docker快速启动
最简单的部署方式是使用Docker和Docker Compose:
mkdir akvorado
cd akvorado
curl -sL https://github.com/akvorado/akvorado/releases/latest/download/docker-compose-quickstart.tar.gz | tar zxvf -
docker compose up
系统要求
推荐配置:
- 8个vCPU(AMD64或ARM64架构)
- 100GB磁盘空间
- 16GB内存
源码编译
如需从源码编译,需要安装:
- Go 1.21+ 编程环境
- NodeJS 20+ 运行时
- PNPM包管理器
数据可视化能力
Akvorado提供了丰富的可视化功能,帮助用户更好地理解网络流量模式:
应用场景
企业网络运维
- 实时监控带宽使用情况
- 快速识别网络瓶颈
- 优化网络资源配置
安全威胁检测
- 异常流量行为识别
- 潜在安全风险预警
- 网络安全态势感知
业务数据分析
- 网络性能趋势分析
- 流量模式研究
- 资源规划决策支持
配置与管理
网络设备接入
要连接自己的网络设备,需要进行以下配置:
- 在
akvorado.yaml中设置SNMP社区字符串 - 配置接口分类规则
- 重启所有容器应用配置
重要提示
接口分类对于Web界面的正常工作至关重要。如果没有正确配置接口分类规则,仪表板小部件和可视化标签中将无法显示数据。
技术优势
- 协议兼容性广:支持主流流量协议
- 数据处理智能化:自动丰富原始数据
- 存储性能卓越:ClickHouse支持海量数据快速查询
- 操作界面友好:零基础用户也能轻松上手
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考





