vnstat网络流量监控Docker容器安装

vnstat 是一个命令行实用程序,可显示和记录系统上接口的网络流量。他利用内核提供的网络统计信息。因此,vnstat 不会为您的系统增加任何额外的负载来监控和记录网络流量。vnstat提供按月统计、按日统计、按5分钟统计、流量超标报警、流量使用预测等功能,可以通过安装好的 GD library提供图片输出。

vnstat从2.8版本开始支持自动添加网络接口,因此使用有网络接口热插拔的朋友问有福了,插入新网口后无需命令行指令即可自动添加新网口流量监测。

vnstat 安装


Stable version 稳定版本编译安装

1.下载最新稳定源码

2.解压

3.进入目录编译

由于编译需要以来sqlite因此需要先编译sqlite。

wget https://www.sqlite.org/2023/sqlite-autoconf-3420000.tar.gz
tar xvf ​sqlite-autoconf-3420000.tar.gz
cd sqlite-autoconf-3420000
./configure --prefix=/usr && make -j4 && make install
cd ..
wget https://humdi.net/vnstat/vnstat-latest.tar.gz
tar xvf vnstat-latest.tar.gz
cd vnstat-2.10
./configure --prefix=/usr --sysconfdir=/etc && make -j4 && make install
cp -v examples/systemd/vnstat.service /etc/systemd/system/
systemctl enable vnstat
systemctl start vnstat

Docker 容器安装

使用docker容器安装还可以附送一个流量监控页面方便在不打开终端的情况下用网页查看流量使用情况或者把流量信息嵌入到自己的网页中。

docker run -d \
    --restart=unless-stopped \
    --network=host \
    -e HTTP_PORT=8685 \
    -v /etc/localtime:/etc/localtime:ro \
    -v /etc/timezone:/etc/timezone:ro \
    --name vnstat \
    vergoh/vnstat

不方便从docker加载镜像的可以直接下载我备份的docker镜像,导入后就可以使用。

docker load -i vnstat_2_10_docker_image.tar

使用


总览图

$ vnstat
$ docker exec vnstat vnstat

                      rx      /      tx      /     total    /   estimated
 a_can0:
       2023-07     88.57 KiB  /   69.25 MiB  /   69.33 MiB  /  485.17 MiB
     yesterday      5.74 KiB  /  116.83 KiB  /  122.57 KiB
         today           0 B  /         0 B  /         0 B  /     --

 eth0:
       2023-07    958.64 MiB  /  456.59 MiB  /    1.38 GiB  /    9.70 GiB
     yesterday     25.63 MiB  /   11.26 MiB  /   36.88 MiB
         today     40.71 KiB  /  133.62 KiB  /  174.33 KiB  /     428 KiB

 eth1:
       2023-07     38.00 KiB  /    9.78 KiB  /   47.78 KiB  /     --
     yesterday           0 B  /         0 B  /         0 B
         today           0 B  /         0 B  /         0 B  /     --

 m_can0:
       2023-07           0 B  /         0 B  /         0 B  /     --
     yesterday           0 B  /         0 B  /         0 B
         today           0 B  /         0 B  /         0 B  /     --

 m_can1:
       2023-07           0 B  /         0 B  /         0 B  /     --
     yesterday           0 B  /         0 B  /         0 B
         today           0 B  /         0 B  /         0 B  /     --

按天

$ vnstat -d eth0
$ docker exec vnstat vnstat -d eth0

 eth0  /  daily

          day        rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     2023-07-14     1.83 GiB |  863.05 MiB |    2.68 GiB |    8.38 Mbit/s
     ------------------------+-------------+-------------+---------------
      estimated    34.12 GiB |   15.68 GiB |   49.80 GiB |

按小时

$ vnstat -h eth0
$ docker exec vnstat vnstat -h eth0

 eth0  /  hourly

         hour        rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     2023-07-14
         09:00      1.83 GiB |  849.25 MiB |    2.66 GiB |    6.34 Mbit/s
         10:00      8.20 MiB |   15.10 MiB |   23.30 MiB |   81.45 kbit/s
     ------------------------+-------------+-------------+---------------

按5分钟

$ vnstat -5 eth0
$ docker exec vnstat vnstat -5 eth0

 eth0  /  5 minute

         time        rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     2023-07-14
         09:45    111.64 MiB |   67.40 MiB |  179.04 MiB |    5.01 Mbit/s
         09:50      1.42 GiB |  527.85 MiB |    1.93 GiB |   55.40 Mbit/s
         09:55    306.18 MiB |  254.00 MiB |  560.18 MiB |   15.66 Mbit/s
         10:00    438.37 KiB |    1.38 MiB |    1.81 MiB |   50.49 kbit/s
         10:05    207.27 KiB |    1.30 MiB |    1.50 MiB |   41.97 kbit/s
         10:10    157.93 KiB |    1.28 MiB |    1.43 MiB |   40.12 kbit/s
         10:15    148.66 KiB |    1.27 MiB |    1.41 MiB |   39.53 kbit/s
         10:20    138.66 KiB |    1.07 MiB |    1.20 MiB |   33.64 kbit/s
         10:25      2.97 MiB |    6.16 MiB |    9.13 MiB |  255.39 kbit/s
         10:30      2.10 MiB |    1.34 MiB |    3.44 MiB |   96.08 kbit/s
         10:35      2.07 MiB |    1.31 MiB |    3.38 MiB |   94.38 kbit/s
     ------------------------+-------------+-------------+---------------

小时图表

$ vnstat -hg eth0
$ docker exec vnstat vnstat -hg eth0
 eth0                                                                     10:40
  ^                                                                        t
  |                                                                        t
  |                                                                        t
  |  r              r                                                      t
  |  r              r                                                      t
  |  r              r                                                      t
  |  r              r                                                      t
  |  r   t  t       rt                                                     t
  |  rt  t  t  t    rt  t                                                  t
  |  rt  t  t  t  t rt  t  t                                               t
 -+--------------------------------------------------------------------------->
  |  11 12 13 14 15 16 17 18 19 20 21 22 23 00 01 02 03 04 05 06 07 08 09 10

 h  rx (KiB)   tx (KiB)  ][  h  rx (KiB)   tx (KiB)  ][  h  rx (KiB)   tx (KiB)
11    59653.9    17662.7 ][ 19      673.0     6309.4 ][ 03        0.0        0.0
12     4151.8    27045.2 ][ 20        0.0        0.0 ][ 04        0.0        0.0
13     3321.3    28477.9 ][ 21        0.0        0.0 ][ 05        0.0        0.0
14     2334.9    19610.1 ][ 22        0.0        0.0 ][ 06        0.0        0.0
15     1207.5    12489.1 ][ 23        0.0        0.0 ][ 07        0.0        0.0
16    64149.0    27509.3 ][ 00        0.0        0.0 ][ 08        0.0        0.0
17     2385.0    21948.3 ][ 01        0.0        0.0 ][ 09       30.2        4.4
18     1620.7    15151.1 ][ 02        0.0        0.0 ][ 10     1336.4    81255.5

按最多排序

$ vnstat -t eth0 
$ docker exec vnstat vnstat -t eth0 

 eth0  /  top 3

    #      day          rx      |     tx      |    total    |   avg. rate
   -----------------------------+-------------+-------------+---------------
    1   2023-07-12     6.58 GiB |    2.88 GiB |    9.47 GiB |  941.20 kbit/s
    2   2023-07-13   139.99 MiB |  201.61 MiB |  341.60 MiB |   33.17 kbit/s
 >  3   2023-07-14     1.33 MiB |   79.36 MiB |   80.69 MiB |    7.83 kbit/s
   -----------------------------+-------------+-------------+---------------

实时统计

$ vnstat -l eth0
$ docker exec vnstat vnstat -l eth0
Monitoring eth0...    (press CTRL-C to stop)

   rx:     4.34 kbit/s     7 p/s          tx:    37.90 kbit/s    11 p/s

流量报警

$ vnstat --alert 1 3 d total 5 GiB eth0
$ docker exec vnstat vnstat --alert 1 3 d total 5 GiB eth0

   eth0 at 2023-07-14 10:45:00 for day 2023-07-14

     [=-.........................................................]

         daily |       total      |   percentage   |   avg. rate
     ----------+------------------+----------------+--------------
          used |        81.80 MiB |           1.6% |  17.73 kbit/s
         limit |         5.00 GiB |                | 497.10 kbit/s
     remaining |         4.92 GiB |          98.4% |
     ----------+------------------+----------------+--------------
     estimated |       182.51 MiB |           3.6% |  17.73 kbit/s

网页访问

浏览器打开 http://127.0.0.1:8685

vnstat网络流量监控Docker容器安装_第1张图片 

vnstat网络流量监控Docker容器安装_第2张图片

 

 

你可能感兴趣的:(docker,容器,运维)