zabbix监控网卡流量

zabbix监控网卡流量

大家好,又见面了,我是全栈君。

1. 根据/proc/net/dev文件,获取网卡流量信息

wKioL1jIr5Gj8QO4AAAnstld0H8054.png

 

   说明:

   最左边的表示接口的名字,Receive表示收包,Transmit表示发包:

   bytes表示收发的字节数;

   packets表示收发正确的包量;

   errs表示收发错误的包量;

   drop表示收发丢弃的包量;

 


2. zabbix客户端,编辑脚本/tmp/net.sh,初始化环境

    内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/bash
eth=$1   
# 第一个参数,可以针对多个网卡
io=$2     
# 第二个参数,可以针对进出流量
net_file=
"/proc/net/dev"  
# 网卡流量从该文件中取,该值为总计,如记录几天的值,需做减法
if 
[ $2 == 
"in" 
]   
# 收到的流量值
then
    
n_new=`
grep 
"$eth" 
$net_file|
awk 
'{print $2}'
`  
# 获得最新的网卡流量值
    
n_old=`
tail 
-1 
/tmp/neti
.log`   
# 获得上一次记录的网卡流量值
    
n=`
echo 
"$n_new-$n_old"
|
bc
`   
# 流量值之差;bc是一个计算器,直接出结果
    
d_new=`
date 
+%s`   
# 记录最新的时间戳
    
d_old=`
tail 
-2 
/tmp/neti
.log|
head 
-1`   
# 获得上一次时间戳
    
d=`
echo 
"$d_new-$d_old"
|
bc
`   
# 时间戳之差
    
if_net=`
echo 
"$n/$d"
|
bc
`  
# 流量差值/时间差,取平均值
    
echo 
$if_net 
    
date 
+%s>>
/tmp/neti
.log   
# 记录一个时间戳,放文件中,即记录d_new
    
grep 
"$eth" 
$net_file|
awk 
'{print $2}'
>>
/tmp/neti
.log   
# 将获取的流量值,放进时间戳的文件中,即记录n_new
elif 
[ $2 == 
"out" 
]
then
    
n_new=`
grep 
"$eth" 
$net_file|
awk 
'{print $10}'
`
    
n_old=`
tail 
-1 
/tmp/neto
.log`
    
n=`
echo 
"$n_new-$n_old"
|
bc
`
    
d_new=`
date 
+%s`
    
d_old=`
tail 
-2 
/tmp/neto
.log|
head 
-1`
    
d=`
echo 
"$d_new-$d_old"
|
bc
`
    
if_net=`
echo 
"$n/$d"
|
bc
`
    
echo 
$if_net
    
date 
+%s>>
/tmp/neto
.log
    
grep 
"$eth" 
$net_file|
awk 
'{print $10}'
>>
/tmp/neto
.log
else
    
echo 
0
fi

    创建文件,赋予初始值:  

1
2
3
4
5
6
7
8
touch 
/tmp/neti
.log
chown 
zabbix  
/tmp/neti
.log
date 
+%s >>
/tmp/neti
.log
grep 
eth0 
/proc/net/dev 
|
awk 
'{print $2}' 
>>
/tmp/neti
.log
touch 
/tmp/neto
.log
chown 
zabbix  
/tmp/neto
.log
date 
+%s >>
/tmp/neto
.log
grep 
eth0 
/proc/net/dev 
|
awk 
'{print $10}' 
>>
/tmp/neto
.log


3. 客户端修改配置文件/etc/zabbix/zabbix_agentd.conf

    UnsafeUserParameters=1

    UserParameter=my.net.if[*], /tmp/shell/net.sh $1 $2



4. zabbix服务端测试

    zabbix_get -s 172.16.115.162 -p10050 -k “my.net.if[eth0,in]”

   wKioL1jIsQSCT93dAAALi80G_Eo440.png


5. 服务端web添加监控项,查看结果

 wKioL1jIsXqAvxMCAADm-rm8EJs183.png

wKioL1jIsbLgxLDKAACXwciav74029.png

wKiom1jIseKRq1L7AAC26dQ281o927.png










本文转自 huangzp168 51CTO博客,原文链接:http://blog.51cto.com/huangzp/1906750,如需转载请自行联系原作者
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107915.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • html.dropdownlistfor_see的用法

    html.dropdownlistfor_see的用法常用方法后台代码:publicActionResultIndex(){ViewData[“deptOu”]=”SOHO”;using(ISessionsession=newNHibernateHelper(DataBase.ADDB).OpenSession()){IList<t_data_DeptOU>dep…

    2022年10月10日
  • PL/SQL中declare、begin关键字解释

    PL/SQL中declare、begin关键字解释使用declare或begin关键字开头的bai叫匿名块,每次使用均需要进行编译,不能存储在数据库中且不能被其他PL/SQL调用。而存储过程,存储函数,触发器等叫命名块,一经编译后面就可直接调用,且可以存储在数据库中,被其他PL/SQL调用;declareagenumber(4);–声明一个参数baia类型du为number类型长度为4beginselectteaAgeintoagefromteacherwhereteaid=122;–查询teaid为12

    2022年8月22日
  • 阿帕基_jojo唯一一个没有荒木线的人

    阿帕基_jojo唯一一个没有荒木线的人阿帕基死前脑海里浮现的场景阿帕基:你在那里干什么啊?警察先生警察:抱歉打扰你吃饭了,我正在调查,我在采集指纹,昨晚,对面人行道上发生了一起抢劫案,被害者被人用酒瓶殴打,碎片散了一地。但人行道上的碎

    2022年8月1日
  • setfacl 权限导出_linux学习-setfacl设置特定目录用户权限

    setfacl 权限导出_linux学习-setfacl设置特定目录用户权限需求:设置用户test,test1对特定的目录有读写执行权限,后加的文件也是这个权限。-R表示递归-m表示设置文件acl规则setfacl-R-md:u:test:rwx/data2/testsetfacl-R-md:u:test1:rwx/data2/test–删除ACL规则使用-bsetfacl-R-b/data2/test上面的d:u:详见如下,而perms对应的是…

    2022年6月22日
  • 大数据科研解决方案「建议收藏」

    大数据科研解决方案「建议收藏」第一章建设背景1.1国家政策2017年1月工业和信息化部正式发布了《大数据产业发展规划(2016-2020年)》,明确了“十三五”时期大数据产业的发展思路、原则和目标,将引导大数据产业持续健康发展,有力支撑制造强国和网络强国建设。2018年9月工信部公示“2018年大数据产业发展试点示范项目名单”,公布了包括大数据存储管理、大数据分析挖掘、大数据安全保障、产业创新大数据应用、…

    2022年5月30日
  • webstorm激活码2021[最新免费获取]

    (webstorm激活码2021)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月29日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号