Ubuntu Dropped如何进行系统监控
导读:Ubuntu Dropped 监控与定位 一、先明确 dropped 的含义 在 Ubuntu 语境中,dropped通常指内核或驱动层面的“丢包/丢弃”计数增长,最常见于网络接口(如 rx_dropped、tx_dropped),也可能...
Ubuntu Dropped 监控与定位
一、先明确 dropped 的含义
- 在 Ubuntu 语境中,dropped通常指内核或驱动层面的“丢包/丢弃”计数增长,最常见于网络接口(如 rx_dropped、tx_dropped),也可能出现在队列/驱动统计中。监控的目标是:快速发现增长、定位发生在哪一层、判定是否异常并触发告警。
二、快速定位与排查步骤
-
1)先看接口层计数是否增长
- 查看所有接口的统计(含 dropped):
ip -s link show - 针对某接口(如 eth0)持续观察:
watch -n 1 ip -s link show dev eth0 - 兼容方式:
ifconfig也可查看 RX/TX dropped 字段 - 若 dropped 随时间递增,说明存在丢包/丢弃,需要进一步定位原因(队列满、驱动、链路、对端等)。
- 查看所有接口的统计(含 dropped):
-
2)用 ethtool 查看驱动与硬件层细节
- 安装工具:
sudo apt-get install ethtool - 查看设备统计与队列信息:
sudo ethtool -S eth0 - 关注与丢包/溢出相关的条目(不同驱动名称略有差异),并结合队列/缓冲区配置检查是否成为瓶颈。
- 安装工具:
-
3)内核层丢包点定位:dropwatch
- 安装依赖并编译(Ubuntu 可用源码构建):
sudo apt-get -y install libnl-3-dev libnl-genl-3-dev binutils-dev- 从源码构建后将二进制放入 PATH(示例:
sudo cp src/dropwatch /usr/bin/dropwatch)
- 基本用法:
- 启动交互:
sudo dropwatch -l kas - 开始监听:
start - 观察内核 tracepoint 的丢包调用栈,定位具体函数/模块(如 qdisc、driver、netdev 等)
- 启动交互:
- 用途:把“接口层看到 dropped 增长”进一步收敛到“内核里具体哪个位置在丢”。
- 安装依赖并编译(Ubuntu 可用源码构建):
三、持续监控与告警方案
-
命令行与系统工具
- 资源总览与进程:
top、htop、vmstat、iostat、free - 安装 sysstat:
sudo apt-get install sysstat(提供iostat/vmstat等) - 图形界面:System Monitor(GNOME 自带)
- 第三方综合:
sudo apt install glances(跨平台、支持客户端/服务器模式,便于远程监控)。
- 资源总览与进程:
-
日志与事件监控
- 使用 journalctl 实时查看系统日志并过滤关键服务/优先级:
journalctl -f -u < service>或按时间/优先级过滤,辅助关联丢包发生时的内核/驱动日志。
- 使用 journalctl 实时查看系统日志并过滤关键服务/优先级:
-
自定义监控脚本(便于接入告警)
- 用 Python + psutil 采集 CPU、内存、磁盘、网络等,并与阈值比较后发告警(邮件/企业微信/钉钉/Slack 等)。
- 示例思路(伪代码):
- 采集:
psutil.cpu_percent(interval=1)、psutil.virtual_memory()、psutil.disk_usage('/')、psutil.net_io_counters() - 对比阈值并触发告警;可配合
cron/systemd 定时运行,或改写为守护进程。
- 采集:
-
可视化与集中监控
- 轻量展示:Glances 支持以 C/S 模式远程采集与展示,适合中小规模与临时扩容观测。
- 大规模与长期观测:Prometheus + Grafana(配合 node_exporter 采集主机指标),可绘制 dropped 趋势图并设置阈值告警。
四、常见成因与优化建议
- 驱动/固件与链路
- 更新驱动与系统、检查物理连接与链路质量;必要时更换网线/光模块/交换机口,排除硬件问题。
- 队列与缓冲区
- 结合
ethtool -S与dropwatch结果,评估 ring buffer、qdisc 队列是否过小或过载;按需调大队列、优化调度策略,缓解突发流量导致的丢弃。
- 结合
- 系统配置与服务
- 保持系统与驱动更新;网络异常时可尝试重启 NetworkManager 或相关网络服务,作为临时恢复手段(治标不治本,需配合根因修复)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Dropped如何进行系统监控
本文地址: https://pptw.com/jishu/788581.html
