如何监控Linux Overlay网络的运行状态
导读:监控 Linux Overlay 网络的可操作方案 一 快速巡检清单 查看主机与数据面接口状态:使用ip link/addr确认Overlay 网卡(如 vxlan、geneve、br0 等)是否存在、是否UP、是否有IP;检查MTU是否...
监控 Linux Overlay 网络的可操作方案
一 快速巡检清单
- 查看主机与数据面接口状态:使用ip link/addr确认Overlay 网卡(如 vxlan、geneve、br0 等)是否存在、是否UP、是否有IP;检查MTU是否一致(Overlay 通常小于物理口,如1450字节)。
- 查看容器网络与端点:使用docker network ls/inspect < network_name> 确认Overlay 网络是否存在、驱动类型、已连接容器与Endpoint IP。
- 查看 OVS 控制面:使用ovs-vsctl show核对桥、端口、接口类型(vxlan/geneve)与remote_ip是否正确。
- 实时流量与连接:使用iftop -i 观察带宽与对端;使用nmon查看网络吞吐与错误/丢包;必要时用**tcpdump -i **抓包定位异常。
- 容器资源与网络:使用docker stats查看容器网络 I/O;用systemd-cgtop按cgroup观察网络占用。
- 底层转发与策略:用iptables/nftables -L -v -n或nft list ruleset核对NAT/转发规则是否生效。
- 服务发现健康:若依赖etcd/consul,查看**/8500或/2379页面与成员健康,确保Overlay 控制面**一致性与连通性。
二 按技术栈的监控要点
- Docker Swarm Overlay
- 控制面:检查**/etc/docker/daemon.json的cluster-store/cluster-advertise与overlay网络驱动;用docker network inspect核对Attachable**、Containers与IPAM配置。
- 数据面:用ip link/addr确认vxlan与docker_gwbridge状态;用ovs-vsctl show(如使用 OVS)核对VXLAN隧道与remote_ip;用iftop/tcpdump排查跨主机通信。
- 可视化:部署Prometheus + Grafana,抓取容器/节点与(可选)OVS指标,构建Overlay 延迟/丢包/带宽面板。
- Kubernetes CNI Overlay(如 Flannel VXLAN、Calico VXLAN、Weave)
- 控制面:用kubectl get nodes/pods -o wide核对Pod CIDR与节点 IP;查看CNI 插件日志(如journalctl -u kubelet或 CNI DaemonSet);检查kube-proxy规则是否下发。
- 数据面:用ip -d link show < vxlan/geneve> 确认VNI/Port与remote_ip;用bridge fdb(VXLAN)查看远端 VTEP学习情况;用tcpdump在Pod 网桥/VTEP处抓包验证封装/解封装。
- 可视化:以cAdvisor + node-exporter + kube-state-metrics为数据源,结合Prometheus/Grafana展示Pod 网络流量、丢包、重传与跨节点延迟。
- 基于 OVS 的 Overlay
- 控制面:用ovs-vsctl show与ovs-ofctl dump-flows
核对隧道端口、流表与VNI映射;确保控制器/OpenFlow下发正常。 - 数据面:用ip -d link查看vxlan/geneve;用ovs-appctl ofproto/trace复现与定位流表命中问题;用tcpdump在物理口/隧道口联合抓包验证封装路径。
- 控制面:用ovs-vsctl show与ovs-ofctl dump-flows
三 关键指标与阈值建议
- 接口与隧道健康
- 接口UP/DOWN、MTU一致性(Overlay 建议1450字节以避免分片)、错误/丢包计数不增长。
- 数据面转发
- VXLAN/Geneve的封装/解封装错误为0;FDB/ARP条目稳定,无频繁未知 MAC学习。
- 连通性与性能
- RTT/丢包在业务阈值内;跨节点带宽与P95/P99 延迟稳定;TCP 重传率低。
- 控制面一致性
- etcd/consul集群健康且Leader稳定;Docker/Kubernetes控制面组件Ready;CNI与kube-proxy无持续报错。
- 容器网络
- docker stats中网络 I/O与业务预期匹配;cAdvisor显示网络吞吐与错误正常。
四 告警与可视化落地
- 采集与存储
- 主机/容器层:部署node-exporter、cAdvisor、docker stats导出指标;如使用 OVS,启用OVSDB/OpenFlow或sFlow/NetFlow导出。
- 存储与展示:以Prometheus抓取上述目标,在Grafana构建Overlay 总览、节点/隧道状态、跨节点延迟、带宽与丢包等面板。
- 建议告警规则
- 节点或Overlay 接口 DOWN;MTU 不一致;接口错误/丢包持续增长;VXLAN/Geneve 封装错误> 0;FDB 未知 MAC激增;etcd/consul集群不健康;跨节点 P95 延迟或丢包超过阈值。
五 排障命令速查表
| 目标 | 命令示例 |
|---|---|
| 查看接口与地址 | ip -d link show; ip addr show |
| 查看 OVS 拓扑与端口 | ovs-vsctl show |
| 查看 OVS 流表 | ovs-ofctl dump-flows |
| 查看 VXLAN FDB | bridge fdb show dev < vxlan_iface> |
| 查看 Docker Overlay 网络 | docker network ls; docker network inspect |
| 容器实时资源与网络 | docker stats |
| 实时带宽与对端 | iftop -i |
| 系统资源与网络 | nmon |
| 抓包定位封装 | tcpdump -i -nn -vv |
| 底层转发与策略 | iptables -L -v -n; nft list ruleset |
| 服务发现健康 | curl http://127.0.0.1:8500/v1/health/state (Consul) 或检查 etcd 成员列表 |
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何监控Linux Overlay网络的运行状态
本文地址: https://pptw.com/jishu/756385.html
