Skip to content

kk8bit/traffic-monitor-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

流量监控系统

  • 一个简单的命令行工具,用于监控服务器的网络流量,并提供交互式菜单进行流量查看和系统管理
  • 仅本人因为AWS没有很明确的流量监控,所以自己写了一个,方便自用的目的,欢迎使用和贡献

安装

使用以下命令一键安装此系统:

bash <(wget -qO- https://raw.githubusercontent.com/kk8bit/traffic-monitor-system/main/install.sh)

注意 :

  • 安装过程中需要root权限,请确保以sudo权限运行命令。
  • 如果之前已经安装了此系统,建议先运行卸载脚本以确保安装环境干净:
sudo /usr/local/bin/uninstall.sh

使用

安装完成后,你可以使用以下命令来调用流量监控菜单:

monitor

注意

程序所显示的时间以服务器设置的时区为准,请确保你的服务器时区设置正确。如果你发现你的时间不正确,你可以使用以下命令来同步系统时间:

  1. 查看系统时区:
timedatectl
  1. 如果时区不正确,使用以下命令设置正确的时区:(这里以Asia/Shanghai为例):
sudo timedatectl set-timezone Asia/Shanghai
  1. 重启/重装本脚本(过往日志不会丢失)

菜单选项

  1. 查看当前流量 :显示当前服务器的进出站流量
  2. 查看小时流量统计 :查看过去一小时的流量统计数据
  3. 查看月度流量统计 :查看本月的流量统计数据
  4. 实时监控网络流量 :实时监控网络接口的流量
  5. 实时监控网络连接 :查看实时的网络连接和流量
  6. 启动监控服务 :启动流量监控服务
  7. 停止监控服务 :停止流量监控服务
  8. 重启监控服务 :重启流量监控服务
  9. 查看监控服务状态 :检查监控服务的运行状态
  10. 卸载流量监控系统 :卸载此系统
  11. 退出 :退出菜单

卸载

如果你想卸载此系统,可以在菜单中选择选项10,或者直接运行卸载脚本:

sudo /usr/local/bin/uninstall.sh

手动卸载

  • 这段脚本需要以root权限运行,所以我们使用了sudo bash <<'EOF'
  • 该脚本假定iptables规则、systemd服务、脚本文件和日志目录的位置是按照之前的安装脚本设置的
  • iptables规则的删除可能需要手动干预,因为如果链不存在,删除操作会失败
  • 这个卸载脚本不包含任何错误检查或确认步骤,所以请确保你确实想卸载系统再执行
  • 如果你的服务器上的配置有所不同(比如网络接口名称或文件路径),你可能需要相应地调整这些命令
sudo bash <<'EOF'
# 停止并禁用服务
systemctl stop monitor-traffic
systemctl disable monitor-traffic

# 删除systemd服务文件
rm /etc/systemd/system/monitor-traffic.service

# 删除自定义iptables规则
if iptables -L INPUT | grep -q ALL_TRAFFIC; then
    iptables -D INPUT -j ALL_TRAFFIC
fi
if iptables -L OUTPUT | grep -q ALL_TRAFFIC; then
    iptables -D OUTPUT -j ALL_TRAFFIC
fi
iptables -F ALL_TRAFFIC || echo "无法清空ALL_TRAFFIC链。"
iptables -X ALL_TRAFFIC || echo "无法删除ALL_TRAFFIC链。"

# 停止并禁用vnstat
systemctl stop vnstat
systemctl disable vnstat

# 删除安装的脚本
rm /usr/local/bin/monitor_traffic.sh
rm /usr/local/bin/menu.sh
rm /usr/local/bin/uninstall.sh

# 删除菜单的软链接
rm /usr/local/bin/monitor

# 删除日志目录
rm -r /var/log/traffic_monitor

echo "流量监控系统已成功卸载。"
EOF

注意事项

  • 此系统依赖于iptablesvnstatnloadiftop。这些工具必须在系统上可用
  • 流量监控服务每小时记录一次数据,日志存储在/var/log/traffic_monitor/traffic.log
  • 确保你的服务器有足够的权限来执行iptablessystemd相关命令
  • 安装过程中会创建一个monitor-traffic的systemd服务,用于定时记录流量

许可证

此软件使用不可修改许可证(No Modification License)。你可以免费分发此软件,但不得对源代码进行任何修改

贡献

欢迎贡献!如果有任何问题或改进建议,请在GitHub上创建Issue或Pull Request

About

用于服务器的流量监控

Resources

Stars

Watchers

Forks

Languages