如何在Linux上配置高可用的网络监控和流量分析

来源:个人站长网作者:台湾程序员头衔:程序员
导读:本期聚焦于小伙伴创作的《如何在Linux上配置高可用的网络监控和流量分析》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何在Linux上配置高可用的网络监控和流量分析》有用,将其分享出去将是对创作者最好的鼓励。

在Linux服务器运维工作中,网络监控和流量分析是排查网络故障、保障业务稳定的重要手段,而高可用配置可以避免单点监控节点故障导致监控数据丢失、分析服务中断的问题。本文将以ntopng作为流量分析核心工具,结合Keepalived实现高可用架构,完整讲解配置过程。

如何在Linux上配置高可用的网络监控和流量分析

环境准备

本次配置需要两台Linux服务器作为监控节点,一台作为备用节点,系统选择CentOS 7及以上版本,同时需要准备一台交换机支持端口镜像功能,用于采集网络流量。两台节点的基础配置要求如下:

  • 节点1 IP:192.168.0.10,主机名:monitor-master
  • 节点2 IP:192.168.0.11,主机名:monitor-backup
  • 虚拟IP(VIP):192.168.0.100,用于对外提供监控服务访问入口
  • 开放端口:3000(ntopng Web访问端口)、112(VRRP协议端口)

核心组件安装

首先在两个节点上安装ntopng和Keepalived,ntopng负责流量采集和分析,Keepalived负责高可用故障切换。

安装ntopng

ntopng是开源的网络流量分析工具,支持实时流量展示、历史数据存储、协议分析等功能,安装命令如下:

# 添加ntopng官方源
rpm -Uvh https://packages.ntop.org/centos-stable/ntop-1.0-1.el7.noarch.rpm
# 安装ntopng和依赖
yum install -y ntopng ntopng-data redis
# 启动redis服务并设置开机自启
systemctl start redis
systemctl enable redis

安装Keepalived

Keepalived通过VRRP协议实现主备节点的状态检测和故障切换,安装命令如下:

yum install -y keepalived

ntopng配置

两个节点的ntopng基础配置保持一致,首先创建ntopng的配置文件:

# 创建配置文件目录
mkdir -p /etc/ntopng
# 编辑配置文件
vi /etc/ntopng/ntopng.conf

配置文件内容如下,其中--interface指定流量采集的网卡,需要和交换机镜像端口连接的网卡对应:

# 监听的网卡,根据实际环境修改
--interface=eth1
# Web访问端口
--http-port=3000
# 数据存储目录
--data-dir=/var/lib/ntopng
# 启用社区版功能
--community
# Redis连接配置
--redis=127.0.0.1:6379

配置完成后启动ntopng服务并设置开机自启:

systemctl start ntopng
systemctl enable ntopng

Keepalived高可用配置

Keepalived需要在主备节点分别配置,主节点配置优先级高于备节点,故障切换时自动将VIP漂移到可用节点。

主节点配置

编辑主节点的Keepalived配置文件/etc/keepalived/keepalived.conf

global_defs {
   router_id monitor-master # 节点标识,主备节点不能相同
}

vrrp_instance VI_1 {
    state MASTER # 主节点角色
    interface eth0 # 承载VIP的网卡
    virtual_router_id 51 # 虚拟路由ID,主备节点保持一致
    priority 100 # 优先级,主节点高于备节点
    advert_int 1 # VRRP通告间隔,单位秒

    authentication {
        auth_type PASS
        auth_pass 123456 # 认证密码,主备节点保持一致
    }

    virtual_ipaddress {
        192.168.0.100/24 # 虚拟IP地址
    }
}

# 健康检查配置,检测ntopng服务状态
virtual_server 192.168.0.100 3000 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    persistence_timeout 50
    protocol TCP

    real_server 192.168.0.10 3000 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }
}

备节点配置

备节点配置文件和主节点大部分一致,仅修改router_idstatepriority三个参数:

global_defs {
   router_id monitor-backup # 备节点标识
}

vrrp_instance VI_1 {
    state BACKUP # 备节点角色
    interface eth0
    virtual_router_id 51
    priority 90 # 优先级低于主节点
    advert_int 1

    authentication {
        auth_type PASS
        auth_pass 123456
    }

    virtual_ipaddress {
        192.168.0.100/24
    }
}

virtual_server 192.168.0.100 3000 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    persistence_timeout 50
    protocol TCP

    real_server 192.168.0.11 3000 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }
}

配置完成后分别启动两个节点的Keepalived服务:

systemctl start keepalived
systemctl enable keepalived

流量采集配置

需要在交换机上配置端口镜像,将需要监控的流量复制到和监控节点eth1网卡连接的端口。以华为交换机为例,配置命令如下:

# 进入系统视图
system-view
# 创建镜像组1
mirroring-group 1 mirroring-port both
# 配置镜像源端口,即需要监控的流量端口
mirroring-group 1 mirroring-port GigabitEthernet 0/0/1 to GigabitEthernet 0/0/10
# 配置镜像目的端口,连接监控节点eth1的端口
mirroring-group 1 monitor-port GigabitEthernet 0/0/24

功能验证

完成所有配置后,可以通过以下方式验证高可用和监控功能:

  • 访问虚拟IP 192.168.0.100:3000,能正常打开ntopng的Web管理界面,查看实时流量数据
  • 在主节点执行systemctl stop ntopng停止ntopng服务,观察VIP是否自动漂移到备节点,Web访问是否正常切换
  • 在主节点执行systemctl stop keepalived停止Keepalived服务,验证备节点是否能自动接管VIP
  • 在ntopng界面查看协议分布、主机流量排名、历史流量趋势等数据,确认流量分析功能正常

常见问题排查

如果配置完成后出现监控数据异常或者高可用切换失败,可以排查以下常见问题:

  • 检查网卡名称是否正确,ntopng配置的采集网卡和交换机镜像连接的网卡是否对应
  • 检查VRRP协议是否被防火墙拦截,关闭防火墙或者开放112端口的VRRP协议流量
  • 检查两个节点的Keepalived配置中虚拟路由ID、认证密码是否一致
  • 检查ntopng服务是否正常启动,查看/var/log/ntopng.log日志排查错误

Linux网络监控流量分析高可用ntopng修改时间:2026-07-14 12:00:38

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。