400-680-8581
欢迎访问:路由通
中国IT知识门户
位置:路由通 > 资讯中心 > 零散代码 > 文章详情

监控甜糖上传流量解决突然没上传速度

作者:路由通
|
372人看过
发布时间:2024-04-28 13:17:00
标签:
摘要:本文介绍了一个用于监控网卡上传流量的自动化脚本,特别适用于需要持续高上传流量的PCDN服务。当检测到上传流量低于预设阈值时,脚本将自动结束相关进程以恢复流量。 正文: 在网络服务领域,尤其是对于依赖持续高上传流量的点对点内容分发网络(PCDN)服务,监控上传流量至关重要。今天,我将与大家分享一个实用的监控脚本,该脚本能够实时监控网卡的上传流量,并在流量...
监控甜糖上传流量解决突然没上传速度
摘要:本文介绍了一个用于监控网卡上传流量的自动化脚本,特别适用于需要持续高上传流量的PCDN服务。当检测到上传流量低于预设阈值时,脚本将自动结束相关进程以恢复流量。





在网络服务领域,尤其是对于依赖持续高上传流量的点对点内容分发网络(PCDN)服务,监控上传流量至关重要。今天,我将与大家分享一个实用的监控脚本,该脚本能够实时监控网卡的上传流量,并在流量低于设定值时自动结束特定进程,以确保服务的连续性和稳定性。

脚本背景:

此脚本的开发初衷源于我在将玩客云设备刷写为Debian系统后,运行甜糖PCDN服务时遇到的问题。我发现甜糖PCDN的YQ项目偶尔会遇到上传流量异常降低的情况,且长时间无法自行恢复。在这种情况下,结束并重启相关进程(如ipes)能够有效地恢复上传速度。

脚本功能:

本脚本是一个自动化的监控工具,旨在实时跟踪并记录特定网卡的上传流量。以下是脚本的关键功能点:

1. 实时流量监控:脚本使用netinfo命令来监测指定网卡(例如eth0)的上传流量,并以每秒的速率记录。

2. 日志记录:所有监控数据都会被记录在设定的日志目录下,按日期命名的日志文件中,便于后续分析和审计。

3. 流量阈值检查:脚本设定了一个流量阈值(默认为50KB/s),一旦监测到的上传流量低于此阈值,脚本将执行预定动作。

4. 进程管理:当检测到流量低于阈值时,脚本会自动终止ipes进程,以尝试恢复网络流量至正常水平。

5. 定时清理:脚本会自动清理超过7天的旧日志文件,以避免日志目录空间被无限占用。

脚本适用性:

理论上,带有ipes进程的PCDN服务都可以采用此脚本。例如,我发现猕猴桃PCDN同样采用了ipes。

脚本优势:

1. 自动化:减少人工监控的需要,实现24/7的无人值守监控。

2. 灵活性:用户可以根据实际需求调整流量阈值和日志保留策略。

3. 易用性:脚本易于部署和配置,适合技术背景各异的用户。

4. 健壮性:通过自动重启关键进程,增强了系统的稳定性和自愈能力。

5. 可定制性:脚本提供了基础框架,可根据不同的监控需求进行定制和扩展。

脚本实现:

以下是实现上述功能的脚本代码:

bash
!/bin/bash
监控网卡流量,并输出到日志文件中
定义环境变量,根据自己系统更改
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:~/bin
export LANG=en
日志目录
LOG_DIR="/usr/jklog"
日志文件名称
FILE_NAME="$(date +%F).log"
监控的网卡名称
NET_NAME="eth0"
THRESHOLD=50         KB/s
确保日志目录存在
[ -d "$LOG_DIR" ] || mkdir -p "$LOG_DIR"
进入日志目录
cd "$LOG_DIR"
清理超过7天的日志文件
find . -name ".log" -mtime +5 -exec rm \;
在日志文件中记录当前时间
date +"%H:%M" >> "$FILE_NAME"
监控网卡名称DEV 1 5,输出5秒内平均上传速度
netinfo=$(sar -n DEV 1 5 | grep -i average | grep "$NET_NAME" | awk &39;print $6&39;)
echo "$NET_NAME 5秒内平均上传流量:$(echo $netinfo | cut -d&39;:&39; -f2)KB/s" >> "$FILE_NAME"
检查流量是否低于阈值
if (( $(echo "$netinfo < $THRESHOLD" | bc -l) )); then
    echo "由于上传流量低于50KB/S,终止了 ipes 进程" >> "$FILE_NAME"
    killall ipes
else
    echo "上传流量正常" >> "$FILE_NAME"
fi
echo &39;&39; >> "$FILE_NAME"



[wv]      
上述脚本代码已保存至  /usr/  目录下的   nctoro_com.sh   文件中。请确保在执行脚本之前,赋予执行权限。chmod +x nctoro_com.sh

直接运行(用于测试)

 cd /usr

 bash nctoro_com.sh

等待一会,就可查看/usr/jklog/里的日志文件。
Cron任务设置:

为了使脚本能够定期执行,您可以按照以下步骤设置cron任务:

1. 将上述脚本保存为一个文件,例如nctoro_com.sh,并赋予执行权限:


chmod +x nctoro_com.sh
2. 编辑crontab文件来添加一个定时任务:


crontab -e添加以下行,假设每5分钟检查一次:

    /5 /usr/nctoro_com.sh请将/usr/nctoro_com.sh替换为您的脚本实际路径和脚本名。

3. 保存crontab文件:

4. 写入内容后,输入Ctrl + O,然后按Enter确认文件名。

5. 输入Ctrl + X退出并保存更改。

6. 重启cron服务:


service cron restart
[/wv]

监控上传流量并及时响应流量异常是确保PCDN服务质量的关键。虽然本文提供的脚本是一个有效的解决方案,但肯定还有其他更好的方案,欢迎家人们留言讨论。
相关文章
192.168.1.1登录入口(路由器管理后台)
在进行网络配置时,许多路由器的默认管理界面地址是192.168.1.1,不过现在光猫的默认管理地址也是192.168.1.1。通常情况下,用户只需在浏览器的地址栏中输入此地址,然后按下回车键或前往键,即可访问到路由器的配置或登录界面。然而,有些用户可能会遇到,打不开192.168.1.1登录入口,就无法对路由器进行设置。 为了解决这个问题,可以按照以下步骤操...
2024-04-24 18:04:00
629人看过
192.168.1.1官网登录(路由器登录后台改wifi密码)
多个品牌的路由器,如TP-LINK、华硕、水星等,通常采用192.168.1.1作为其管理界面的登录地址。在您的设备成功连接到路由器的无线网络后,您可以通过浏览器输入192.168.1.1登录页面来访问路由器的设置界面。在登录界面,您需要输入用户名和密码,某些路由器可能仅要求管理员密码。 注意正确的登录地址格式:用户在尝试登录时常见的错误包括省略http:/...
2024-04-22 16:25:00
289人看过
192.168.2.1手机登录WiFi设置
192.168.2.1常被中国电信定制版无线路由器作为登录入口地址,部分联通的定制版无线路由器也会使用这个地址。手机登录192.168.2.1如何设置自己的Wi-Fi网络呢?本文将介绍如何使
2024-02-22 09:07:00
400人看过
H3C TX1800 Plus 第3方 OpenWrt 固件下载
关于固件 型号: H3C TX1800 Plus 平台: ramips/mt7621版本: 分支: 23.05-SNAPSHOT 内核: 5.15.148 日期: 2024-02-20 22:26:20 说明: 后台: 10.0.0.1
2024-02-21 09:20:00
408人看过
新华三 H3C TX1800 Plus  / TX1801 Plus / TX1806刷OpenWrt固件教程
本教程适合新华三 H3C TX180x系列:新华三 H3C TX1800 Plus / TX1801 Plus / TX1806 实质上是同一款机子,是运营商定制的路由器,外观上略有不同,TX1800 Plus是联通定制、TX1801 Plus是电信定制 、 TX1806是移动定制。
2024-02-21 09:20:00
272人看过
路由器breed是什么?
## 路由器breed是什么? [![breed控制台] Breed是一款由国内个人开发者hackpascal设计的闭源Bootloader,也有“不死鸟”的别称。它可以用来替代U-Boot等其他Bootl
2024-01-12 18:32:00
420人看过