安装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
Comments | NOTHING
该文章已经关闭评论