• vnstat流量统计(2.8版本)


    vnstat流量统计(2.8版本)

    vnStat 是一个基于控制台的 Linux 和 BSD 网络流量监视器,它为所选接口保留网络流量日志。它使用内核提供的网络接口统计信息作为信息源。这意味着 vnStat 实际上不会嗅探任何流量,并且无论网络流量率如何,都可以确保少量使用系统资源。

    这个程序是开源/GPL 的,可以作为root 用户或单个用户安装。

    官方网址:http://humdi.net/vnstat/

    github:https://github.com/vergoh/vnstat

    图像输出演示:https://humdi.net/vnstat/cgidemo/

    特点

    • 安装和运行快速简单
    • 收集的统计信息在系统重启后仍然存在
    • 可以同时监控多个接口
    • 几个输出选项
    • 总结,5 分钟,每小时,每天,每月,每年,最重要的日子
    • 可选的 png 图像输出(使用 libgd)
    • 数据保留时间完全由用户动态配置
    • 月份可以配置为遵循计费周期
    • 轻量级,最少的资源使用
    • 无论流量如何,CPU 使用率都一样低
    • 无需root权限即可使用
    • 在线颜色配置编辑器

    安装配置vnstat

    先决条件

    • make
    • C compiler
    • user with access to kernel interface statistics
      • usually available by default but can be restricted for example by grsecurity and similar security enhancement suites or settings
    • sqlite3 (library and development files)
    • libgd (optional, image output)
    • check (optional, test suite)
    • pkg-config (optional, for check detection)
    • autotools (optional, for recreating configure and makefiles)

    安装

    wget https://github.com/vergoh/vnstat/releases/download/v2.8/vnstat-2.8.tar.gz
    
    tar zxf vnstat-2.8.tar.gz
    
    cd vnstat-2.8
    
    ./configure --prefix=/usr --sysconfdir=/etc && make && make install
    
    mkdir /var/lib/vnstat
    
    chmod -R 777 /var/lib/vnstat/
    

    配置system启动

    cp -v examples/systemd/vnstat.service /etc/systemd/system/
    systemctl enable vnstat
    systemctl start vnstat
    systemctl restart vnstat
    

    注意:如果是较旧的版本使用下面的命令

    cp -v examples/systemd/simple/vnstat.service /etc/systemd/system/
    systemctl enable vnstat
    systemctl start vnstat
    

    其它系统

    • Debian
    cp -v examples/init.d/debian/vnstat /etc/init.d/
    update-rc.d vnstat defaults
    service vnstat start
    
    • Red Hat / CentOS
    cp -v examples/init.d/redhat/vnstat /etc/init.d/
    chkconfig vnstat on
    service vnstat start
    
    • upstart

      cp -v examples/upstart/vnstat.conf /etc/init/
      initctl start vnstat
      

    在首次启动期间,守护程序 (vnstatd) 应列出并添加所有可用的监控接口。根据配置,vnstat 命令可能需要几分钟时间才能开始显示结果,因为数据库中的条目不会不断更新。

    可以通过以下方式停止对不需要的接口的监视:

    vnstat --remove -i eth0
    

    如果需要添加

    vnstat --add -i eth0
    

    vnstat使用

    vnstat命令参数详解

    这里是最新版2.8的参数

    [root@linux vnstat]# vnstat --help
    vnStat 2.8 by Teemu Toivola <tst at iki dot fi>
    
          -5,  --fiveminutes [limit]   show 5 minutes
          -h,  --hours [limit]         show hours
          -hg, --hoursgraph            show hours graph
          -d,  --days [limit]          show days
          -m,  --months [limit]        show months
          -y,  --years [limit]         show years
          -t,  --top [limit]           show top days
    
          -b, --begin <date>           set list begin date
          -e, --end <date>             set list end date
    
          --oneline [mode]             show simple parsable format
          --json [mode] [limit]        show database in json format
          --xml [mode] [limit]         show database in xml format
    
          -tr, --traffic [time]        calculate traffic
          -l,  --live [mode]           show transfer rate in real time
          -i,  --iface <interface>     select interface
    
    Use "--longhelp" or "man vnstat" for complete list of options.
    

    vnstat

    查看所以接口流量统计情况

    [root@linux vnstat]# vnstat
    
                          rx      /      tx      /     total    /   estimated
     docker0:
           2021-11           0 B  /         0 B  /         0 B  /     --     
             today           0 B  /         0 B  /         0 B  /     --     
    
     eth0:
           2021-11    185.98 KiB  /  330.13 KiB  /  516.12 KiB  /     --     
             today    185.98 KiB  /  330.13 KiB  /  516.12 KiB  /     675 KiB
    

    rx:rx是接收(receive)

    tx:tx是发送(transport)

    total:总计

    estimated:估计

    vnstat -5

    按照每五分钟查看

    [root@linux vnstat]# vnstat -5
    
     eth0  /  5 minute
    
             time        rx      |     tx      |    total    |   avg. rate
         ------------------------+-------------+-------------+---------------
         2021-11-12
             18:10     78.90 KiB |  137.68 KiB |  216.58 KiB |    5.91 kbit/s
             18:15    107.09 KiB |  192.45 KiB |  299.54 KiB |    8.18 kbit/s
             18:20    107.65 KiB |  193.50 KiB |  301.15 KiB |    8.22 kbit/s
         ------------------------+-------------+-------------+---------------
    

    time:时间

    rx:rx是接收(receive)

    tx:tx是发送(transport)

    total:总计

    avg. rate:平均速度

    vnstat -h

    按小时查看

    [root@linux vnstat]# vnstat -h
    
     eth0  /  hourly
    
             hour        rx      |     tx      |    total    |   avg. rate
         ------------------------+-------------+-------------+---------------
         2021-11-12
             18:00    396.99 KiB |  712.44 KiB |    1.08 MiB |    5.05 kbit/s
         ------------------------+-------------+-------------+---------------
    

    vnstat -hg

    显示小时图

    [root@linux vnstat]# vnstat -hg
     eth0                                                                     18:35 
      ^                                                                        t    
      |                                                                        t    
      |                                                                        t    
      |                                                                        t    
      |                                                                        t    
      |                                                                       rt    
      |                                                                       rt    
      |                                                                       rt    
      |                                                                       rt    
      |                                                                       rt    
     -+---------------------------------------------------------------------------> 
      |  19 20 21 22 23 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18    
                                                                                    
     h  rx (KiB)   tx (KiB)  ][  h  rx (KiB)   tx (KiB)  ][  h  rx (KiB)   tx (KiB) 
    19        0.0        0.0 ][ 03        0.0        0.0 ][ 11        0.0        0.0
    20        0.0        0.0 ][ 04        0.0        0.0 ][ 12        0.0        0.0
    21        0.0        0.0 ][ 05        0.0        0.0 ][ 13        0.0        0.0
    22        0.0        0.0 ][ 06        0.0        0.0 ][ 14        0.0        0.0
    23        0.0        0.0 ][ 07        0.0        0.0 ][ 15        0.0        0.0
    00        0.0        0.0 ][ 08        0.0        0.0 ][ 16        0.0        0.0
    01        0.0        0.0 ][ 09        0.0        0.0 ][ 17        0.0        0.0
    02        0.0        0.0 ][ 10        0.0        0.0 ][ 18      502.7      905.6
    

    vnstat -tr

    计算流量(calculate traffic)

    [root@linux vnstat]# vnstat -tr
    92 packets sampled in 5 seconds
    Traffic average for eth0
    
          rx         6.21 kbit/s             9 packets/s
          tx        10.11 kbit/s             9 packets/s
    

    vnstat -l

    显示实时传输率

    [root@linux vnstat]# vnstat -l
    Monitoring eth0...    (press CTRL-C to stop)
    
       rx:       384 bit/s     1 p/s          tx:       912 bit/s     1 p/s^C
    
    
     eth0  /  traffic statistics
    
                               rx         |       tx
    --------------------------------------+------------------
      bytes                    21.60 KiB  |       43.41 KiB
    --------------------------------------+------------------
              max            7.91 kbit/s  |    15.87 kbit/s
          average            2.85 kbit/s  |     5.74 kbit/s
              min              384 bit/s  |       912 bit/s
    --------------------------------------+------------------
      packets                        282  |             281
    --------------------------------------+------------------
              max                 11 p/s  |          11 p/s
          average                  4 p/s  |           4 p/s
              min                  1 p/s  |           1 p/s
    --------------------------------------+------------------
      time                  1.03 minutes
    

    还有好多用法,比如按天,按月等等,大家可以自行尝试。

    报错解决

    错误一

    configure: error: could not find required sqlite3 library
    

    解决方法

    Ubuntu

    # Ubuntu
    apt-get install sqlite3
    apt-get install libsqlite3-dev
    

    CentOS

    # CentOS
    # 方法一
    wget http: //www.sqlite.org/sqlite-autoconf-3070500.tar.gz
    tar xvzf sqlite-autoconf-3070500.tar.gz
    cd sqlite-autoconf-3070500
    ./configure
    make
    make install
    
    # 方法二:
    yum install -y sqlite-devel
    
    # 方法三:
    yum install -y sqlite3-ruby
    

    查看版本信息:sqlite3 -version
    终端进入命令:sqlite3

    错误二

    configure: error: no acceptable C compiler found in $PATH
    

    解决方法

    Ubuntu

    # Ubuntu
    apt install 'g++'
    

    CentOS

    方法一
    yum -y install gcc gcc-c++
    
    方法二
    wget http://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-9.4.0/gcc-9.4.0.tar.gz
    tar zxf gcc-9.4.0.tar.gz
    cd gcc-9.4.0
    yum -y install bzip2
    ./contrib/download_prerequisites
    ./configure --disable-multilib --enable-languages=c,c++
    make -j 4
    make install
    

    错误三

    error: Cannot download mpfr-3.1.4.tar.bz2 from ftp://gcc.gnu.org/pub/gcc/infrastructure/
    error: Cannot download mpc-1.0.3.tar.gz from ftp://gcc.gnu.org/pub/gcc/infrastructure/
    
    error: Cannot download gmp-6.1.0.tar.bz2 from ftp://gcc.gnu.org/pub/gcc/infrastructure/
    
    wget https://gmplib.org/download/gmp/gmp-6.1.0.tar.lz
    wget https://www.mpfr.org/mpfr-current/mpfr-3.1.4.tar.bz2
    wget https://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
    wget https://gcc.gnu.org/pub/gcc/infrastructure/isl-0.18.tar.bz2
    
  • 相关阅读:
    27_Go基础(defer)
    30_Go基础(接口)
    29_Go基础(结构体)
    关于PLSQL Developer报"动态执行表不可访问,本会话的自动统计被禁止"错的解决方法
    用JSP实现上传文件的两种方法
    rownum in ORACLE
    sql笔试语句大全
    oracle下载地址以及安装教程
    对于js中eval()函数的理解 和 写一个函数trim() 去掉字符串左右空格
    Java IO流 FileOutputStream类 和 FileInputStream类 FileReader类和FileWriter类
  • 原文地址:https://www.cnblogs.com/heyongboke/p/15896600.html
Copyright © 2020-2023  润新知