Centos7下vnstat详细配置


安装ServerStatus探针中,各商家服务器修改流量统计数据配置vnstat会出现各种奇形怪状的问题,所以单独拎出来写一遍详细配置过程。
环境Centos7 虚拟化KVM 网卡eth0
只是为了ServerStatus统计流量数据,所以直接yum安装就好了。

安装

yum install epel-release
yum install vnstat

安装完成默认已经启动,接下来修改配置文件

配置文件修改

vim /etc/vnstat.conf

Interface "eth0"  #设置默认网络接口 
DaemonUser "root"  #指定后台运行的用户和组
DaemonGroup "root"

vim /usr/lib/systemd/system/vnstat.service

[Service]
User=root #只需要修改此项即可

创建监控eth0网卡数据

vnstat -u -i eth0

自启与启动

systemctl enable vnstat.service
service vnstat start

查看状态

systemctl status vnstat

ServerStatus

修改客户端文件,找到def liuliang():函数改为Vnstat统计

def liuliang():
    NET_IN = 0
    NET_OUT = 0
    vnstat=os.popen('vnstat --dumpdb').readlines()
    for line in vnstat:
        if line[0:4] == "m;0;":
            mdata=line.split(";")
            NET_IN=int(mdata[3])*1024*1024
            NET_OUT=int(mdata[4])*1024*1024
            break
    return NET_IN, NET_OUT

如果是编译安装Vnstat,版本大于2.0,应改为

def liuliang():
        NET_IN = 0
        NET_OUT = 0
        vnstat=os.popen('vnstat --oneline b').readline()
        mdata=vnstat.split(";")
        NET_IN=int(mdata[8])
        NET_OUT=int(mdata[9])
        return NET_IN, NET_OUT

到这里已经在运行了,但探针页面流量数据并不是实时刷新,所以跑点大流量行为,例如油管、下载等等...
稍等几分钟再刷新页面就有流量统计数据。
如需要实时刷新流量数据可以选择vnstat编译安装,这里暂不多解释,自行谷歌即可。

其它

删除网卡数据库

vnstat --delete --force -i eth0

卸载vnstat

yum remove vnstat

声明:吃蛋的小子|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - Centos7下vnstat详细配置


我,俺床,咱手机。