网络流量监视器vnStat

2023-10-10 18:30

本文主要是介绍网络流量监视器vnStat,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

什么是 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=^dockervergoh/vnstat

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

version: '3'services:vnstat:image: vergoh/vnstatcontainer_name: vnstatrestart: unless-stoppednetwork_mode: hostenvironment:  - 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/

这篇关于网络流量监视器vnStat的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/182290

相关文章

SQL2005 性能监视器计数器错误解决方法

【系统环境】 windows 2003 +sql2005 【问题状况】 用户在不正当删除SQL2005后会造成SQL2005 性能监视器计数器错误,如下图 【解决办法】 1、在 “开始” --> “运行”中输入 regedit,开启注册表编辑器,定位到 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVer

时间监视器 StopWatch

转载地址:http://blog.csdn.net/lxzo123/article/details/6608162 spring-framework提供了一个StopWatch类可以做类似任务执行时间控制,也就是封装了一个对开始时间,结束时间记录操作的Java类,当然还有一些其他控制,代码如下: [java]  view plain copy /*   * Copyrigh

【达梦数据库】shell脚本获取集群内确认监视器地址

目录 1、需求2、想法3、实现代码4、检验效果4.1、集群内任意节点使用`非dmdba用户`执行4.2、集群内任意节点使用`dmdba用户`执行4.2.1、数据库主备节点执行4.2.1、数据库确认监视器节点执行 4.3、非集群内节点执行 1、需求 有确认监视器的集群,在集群的任何一个集群上执行脚本都能知道确认监视器的地址是哪台,达到效果就行。 2、想法 找到dmserver

如何在Linux上配置基于Web的网络流量监控系统

当你在本地网络监控网络流量,根据流量大小、监控平台/接口、数据库类型等等,可以有许多不同的选择。 ntopng是一套开源(遵循GPLv3协议)网络流量分析解决方案,提供基于web界面的实时网络流量监控。支持跨平台,包括Linux和MacOS X。ntopng类似于RMON远端网络监控代理,具有内置的Web服务能力,使用Redis键值服务按时间序列存储统计信息。你可以在任何指定的监控服务器上安

通过python脚本采集网络流量

#!/usr/bin/python # -*- coding:utf-8 -*- ''' psutil模块是一个跨平台的获取进程和系统应用情况(CPU,内存,磁盘,网络,传感器)的库。 该模块用于系统监控、限制进程资源和运行进程的管理等方面。 网络信息 psutil.net_io_counters(pernic=True) #网卡流信息 psutil.net_if_addrs() #网卡ip\ma

美国Linux服务器系统网络流量监控工具

美国Linux服务器系统上有很多现成的工具,能够满足用户进行监控网络的需求, 虽然每个工具的特点都有所不用,但都能够帮助美国Linux服务器用户实现监控网络流量的目的,区别只在于不同的工具其工作方式的不同,本文小编就来详细介绍下美国Linux服务器的网络流量监控工具。   1、Nethogs   nethogs 是一个免费的工具,可以查找给美国Linux服务器网络流量带来了麻烦的PID。它

wins系统资源监视器任务管理器运行监控CPU、内存、磁盘、网络运行状态

目录 1.Windows系统资源监视器的详细介绍2.通过任务管理器打开资源监视器3.任务管理中总体观察`观察cpu、pid、应用程序、I/O次数或者说读写字节数` 4.观察CPU`观察cpu核心数,以及哪些占用cpu频率过高` 5.观察内存`观察各个应用占用的内存大小和对应线程` 6.观察磁盘活动`观察哪些应用程序I/O过大和次数过多` 7.找到占用过高的应用程序具体分析 1.Wi

【Linux】25.ubuntu使用 nethogs 监测网络流量情况

ubuntu使用 nethogs 监测网络流量情况 最简单的安装方法: sudo apt-get install nethogs,他会直接安装0.8.1版本/ 安装成功后使用如下命令 sudo nethogs 即可看到网络情况. 源码安装(没必要这么麻烦): 安装方法 参考 https://blog.csdn.net/Webster_WXH/article/details/77159766 最

Scapy——捕获网络流量(本机Win+虚拟机Ubuntu)

1、简介 Scapy 是一个强大的 Python 程序库,用于网络数据包处理、生成和嗅探。它提供了对网络层和传输层的深入控制,允许用户创建、修改、发送和接收数据包。主要功能: 数据包生成: 可以轻松生成各种类型的网络数据包,包括以太网帧、IP 数据包、TCP/UDP 数据包等。支持多种协议栈组合,用户可以自定义数据包的各个字段。数据包嗅探: 能够捕获网络上的实时数据包,支持各种过滤条件。捕获的数

Jenkins基础入门-13-Jenkins构建监视器-CatLight

这里介绍一个消息提醒器,叫CatLight,这个软件的图标就是有一个发金黄色光亮的猫。这里介绍它,是因为,CatLigh可以用来当做一个Jenkins上Job的构建的一个监控器使用,简单来了解,CatLight是如何和Jenkins进行配置,达到监控Build的。 1.CatLight的下载和安装 浏览器打开https://catlight.io,进行windows版本下载。