网络流量监视器vnStat

news2024/11/18 19:59:09

在这里插入图片描述

什么是 vnStat ?

vnStat 是一个网络流量监视器,它使用内核提供的网络接口统计信息作为信息源。这意味着 vnStat 实际上不会嗅探任何流量,并且无论网络流量速率如何,都可以确保系统资源的轻度使用。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 vnStat ,选择第二个 vergoh/vnstat,版本选择版本选择 2.10 或者latest

在这里插入图片描述

网络

勾选 使用与 Docker Host 相同的网络

在这里插入图片描述

环境

可变
HTTP_PORT默认是 8685,如果没有冲突的话,就不要改
TZ设置时区,国内用户设 Asia/Shanghai
EXCLUDE_PATTERN用于将接口排除在监控之外的扩展 regexp 模式

老苏暂时用到这三个参数,其中 HTTP_PORT 是默认的,后两个参数需要自己添加

之所以要过滤 docker,是因为老苏折腾的机器里,docker 容器太多了

更多的环境编辑请参考官方文档: https://github.com/vergoh/vnstat-docker#environment-variables

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 运行容器
docker run -d \
    --restart=unless-stopped \
    --name vnstat \
    --network=host \
    -e HTTP_PORT=8685 \
    -e TZ=Asia/shanghai \
    -e EXCLUDE_PATTERN=^docker
    vergoh/vnstat

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  vnstat:
    image: vergoh/vnstat
    container_name: vnstat
    restart: unless-stopped
    network_mode: host
    environment:  
      - HTTP_PORT=8685
      - TZ=Asia/shanghai
      - EXCLUDE_PATTERN=^docker

然后执行下面的命令

# 新建文件夹 vnstat
mkdir -p /volume2/docker/vnstat

# 进入 vnstat 目录
cd /volume2/docker/vnstat

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

Web

在浏览器中输入 http://群晖IP:8685 就能看到主界面

  • 没有滤掉 docker的界面

  • 过滤掉 docker 之后

在这里插入图片描述

等几分钟之后就会有数据了

默认情况下,流量统计信息以过去 48 小时的五分钟级别、过去 4 天的每小时级别、过去 2 个完整月的每日级别和永远的年度级别存储。数据保留期限完全由用户配置。还提供了总可见流量和热门天数列表。

另外提供了 JSON 输出,直接访问 http://群晖IP:8685/json.cgi

如果你使用 Prometheus,可以访问 http://群晖IP:8685/metrics

命令行

前面我们把 docker 容器的都关了,但其实可以通过命令行把需要的监控再添加进来

以容器 zentao 为例

在这里插入图片描述

第一步、查网络 ID

# 查网络id
docker network ls | grep <容器名称>

# 示例
docker network ls | grep zentao

在前面红框中得到的就是网络 IDNETWORK ID

第二步、在根据网络 ID 查网络详情

# 通过网络 ID 查 Gateway
docker network inspect <网络 ID>

# 示例
docker network inspect 144f6cddacab

找到 Gateway

第三步、通过 Gateway 查网卡

# 通过 gateway 地址查网卡
ip addr | grep '<gateway IP>'

# 示例
ip addr | grep '192.168.80.1'

另一种老苏觉得不太正规的方法似乎更简单有效,将第一步获得的 络 ID 取前 8位,就是 144f6cdd,再加上前缀 docker 就可以了 🙂
以上正规、不正规的方法,都只适用于 bridge 模式的容器,并不适用于 Host 模式的容器;

第四步、添加监控

假设容器的名字是 vnstat

# 添加监控
docker exec vnstat vnstat -i <网卡 ID> --add

# 示例
docker exec vnstat vnstat -i docker-144f6cdd --add

在这里插入图片描述

开始也是没数据的

要过几分钟

但是 docker-144f6cdd 时间久了还是会不记得的,因此要给个别名来标记一下

# 起个别名
docker exec vnstat vnstat -i <网卡 ID> --setalias "<别名>"

# 示例
docker exec vnstat vnstat -i docker-144f6cdd --setalias "zentao"

在这里插入图片描述

刷新网页,名称已经变为了 zentao(docker-144f6cdd)

访问一下 zentao,数据会有变化,说明监控是没问题的

在这里插入图片描述

如果要删除这个监控的话,只要输入👇的命令就可以了

# 删除监控
docker exec vnstat vnstat -i <网卡 ID> --remove --force

# 示例
docker exec vnstat vnstat -i docker-144f6cdd --remove --force

参考文献

vergoh/vnstat: vnStat - a network traffic monitor for Linux and BSD
地址:https://github.com/vergoh/vnstat

vergoh/vnstat-docker: vnStat in a container with image output via http
地址:https://github.com/vergoh/vnstat-docker

vnStat - a network traffic monitor for Linux and BSD
地址:https://humdi.net/vnstat/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/791477.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hive内部表和外部表

表类型详解 表分类 在Hive中,表类型主要分为两种 第一种&#xff1a;内部表 也叫管理表表目录会创建在集群上的{hive.metastore.warehouse.dir}下的相应的库对应的目录中。默认创建的表就是内部表 第二种&#xff1a;外部表 外部表需要使用关键字"external"&#xff…

勘探开发人工智能应用:地震层位解释

1 地震层位解释 层位解释是地震构造解释的重要内容&#xff0c;是根据目标层位的地震反射特征如振幅、相位、形态、连续性、特征组合等信息在地震数据体上进行追踪解释获得地震层位数据的方法。 1.1 地震信号、层位与断层 图1.1 所示为地震信号采集的过程&#xff0c;地面炮…

Sip网络音频对讲广播模块, sip网络寻呼话筒音频模块

Sip网络音频对讲广播模块&#xff0c; sip网络寻呼话筒音频模块 一、模块介绍 SV-2101VP和 SV-2103VP网络音频对讲广播模块 是一款通用的独立SIP音频功能模块&#xff0c;可以轻松地嵌入到OEM产品中。该模块对来自网络的SIP协议及RTP音频流进行编解码。 该模块支持多种网络协议…

ks webdid 滑块注册

web和app其实都一样&#xff0c;主要是针对于设备进行风控&#xff0c;web设备叫webdid; webdid注册出来&#xff0c;过了ks滑块激活&#xff0c;测试了主页&#xff0c;评论等接口都可以跑&#xff0c;平均也就2s注册一个&#xff0c;如果开并发那就更快了&#xff1b; 不过一…

React Native 0.72 版本,带来诸多更新

经过漫长的等待,React Native 终于迎来了0.72 版本,此处版本带来了Metro重要的功能更新、性能优化、开发人员体验的改进以及其他一些重要的变化。我们可以从下面的链接中获取此次版本更新的内容:0.72更新内容 一、Metro 新功能 众所周知,Metro 是 React Native 默认的 Jav…

图像处理之hough圆形检测

hough检测原理 点击图像处理之Hough变换检测直线查看 下面直接描述检测圆形的方法 基于Hough变换的圆形检测方法 对于一个半径为 r r r&#xff0c;圆心为 &#xff08; a , b &#xff09; &#xff08;a,b&#xff09; &#xff08;a,b&#xff09;的圆&#xff0c;我们将…

模拟量采集S_ITR函数(信捷C语言FC)

模拟量采集和转换函数非常简单,这里不再介绍,想了解具体算法的可以查看下面博客文章: PLC模拟量输入 模拟量转换FC S_ITR_博途模拟量转换程序_RXXW_Dor的博客-CSDN博客模拟量采集、工业现场应用特别广泛、大部分传感器的测量值和输出信号都是线型关系,所以我们可以利用线性…

SpringBoot中定时任务开启多线程避免多任务堵塞

场景 SpringBoot中定时任务与异步定时任务的实现&#xff1a; SpringBoot中定时任务与异步定时任务的实现_霸道流氓气质的博客-CSDN博客 使用SpringBoot原生方式实现定时任务&#xff0c;已经开启多线程支持&#xff0c;以上是方式之一。 除此之外还可通过如下方式。 为什…

对话商汤王晓刚:“百模大战”下半场,如何才能突出重围?

点击关注 文 | 姚悦 今年最早发布的那批大模型&#xff0c;现在怎么样了&#xff1f; 近期&#xff0c;商汤科技宣布“商汤日日新SenseNova”大模型体系完成了第一次重大迭代。这距离其发布过去3个月时间。 “每天不断接到用户调用&#xff0c;收到建议反馈后&#xff0c;每隔…

Java开发基础系列(十二):集合对象(List接口)

&#x1f60a; 作者&#xff1a; 一恍过去 &#x1f496; 主页&#xff1a; https://blog.csdn.net/zhuocailing3390 &#x1f38a; 社区&#xff1a; Java技术栈交流 &#x1f389; 主题&#xff1a; Java开发基础系列(十二)&#xff1a;集合对象(List接口) ⏱️ 创作时间…

【技术】国标GB视频平台设备接入EasyCVR后,如何获取RTMP与RTSP视频流

安防视频监控平台EasyCVR可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力&#xff0c;比…

esp32_arduino的开发库安装笔记

1.1 Arduino软件下载与安装 Arduino官网下载地址&#xff1a;https://www.arduino.cc/en/software。 1.2在线安装 选择文件 - 首选项。 在附加开发板管理器网址中添加以下链接中的一个。 (1)Stable release link: https://raw.githubusercontent.com/espressif/arduino-es…

2023第二届中国绿色钢铁国际大会 演讲嘉宾更新

2023第二届中国绿色钢铁国际峰会将于9月21日-22日在上海举办&#xff0c;本次会议线上线下同步举行。 峰会将从钢铁行业上中下游全产业链视角出发&#xff0c;聚焦能源及原料结构创新&#xff0c;传统高炉技术路线低碳化创新&#xff0c;氢能冶金、二氧化碳捕集、利用或储存技…

借降本增效之名,探索开闭原则架构设计

引语 在我们的研发生产活动中&#xff0c;经常会遇到如下类似的疑惑&#xff1a; 业务和技术在公司组织活动中&#xff0c;究竟应该各扮演什么样的角色&#xff1f; 技术的目的是什么&#xff1f; 研发生产活动中&#xff0c;如何提高生产事故发生的下限&#xff1f; 如何充…

el-table表格自动滚动

实现效果如下&#xff1a; 功能点&#xff1a; 1. 当表格内容超出时&#xff0c;自动滚动&#xff0c;滚动到最后一条之后在从头滚动。 2. 表格中的数据会定时刷新&#xff0c;刷新后数据更新。 3. 鼠标移入表格中&#xff0c;停止滚动&#xff1b;移出后&#xff0c;继续滚…

微信小程序数字键盘(仿微信转账键盘)

微信小程序input自带数字输入键盘&#xff0c;不过是直接调用的系统键盘&#xff0c;无法个性化。 代码中使用使用了Vant WeappVant UI小程序版&#xff0c;这里就不介绍相关安装说明了&#xff0c;大家自行安装Vant Weapp。 json 用到的组件 {"usingComponents": …

第三章:Seed,Expand and Constrain:——种子、扩展和约束:弱监督图像分割的三个原则

0.摘要 我们引入了一种新的损失函数&#xff0c;用于基于三个指导原则进行弱监督训练的语义图像分割模型&#xff1a;使用弱定位线索进行种子标记&#xff0c;根据图像中可能出现的类别信息扩展对象&#xff0c;将分割结果约束在物体边界上。我们通过实验证明&#xff0c;使用所…

【C++模板进阶】

目录 一、模板使用时的一个小注意点二、非类型模板参数三、类模板的特化3.1函数模板的特化3.2类模板的特化3.2.1全特化3.2.2偏特化 四、模板的分离编译4.1模板不支持分离编译4.2模板分离编译报错的分析4.2解决方案 五、模板的总结 一、模板使用时的一个小注意点 在使用模板时&…

创建Electron项目

一、使用vite 构建 electron项目 npm init vitelatest Need to install the following packages:create-vitelatest Ok to proceed? (y) y √ Project name: ... CertificateDownload √ Package name: ... certificatedownload √ Select a framework: Vue √ Select a var…

java正则表达式「.*?」匹配什么

先说结论&#xff1a;以非贪婪的方式匹配正则表达式".*" 举例子&#xff1a; String s "abdcababc"; String regx1 "ab(.*)c"; String regx2 "ab(.*?)c"; Pattern pattern1 Pattern.compile(regx1); Pattern pattern2 Pattern…