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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • service network restart重启失败_network restart

    service network restart重启失败_network restartLinux重启网络服务用systemctlrestartnetworkingUbuntuServer:Failtorestartnetworking.service:Unitnetwork.servicenotfound

    2022年8月30日
    0
  • 通达OA 工作流运行异常情况的紧急处理(图文)[通俗易懂]

    通达OA 工作流运行异常情况的紧急处理(图文)[通俗易懂]本文整理自通达OA技术交流群(QQ群号:378591362)群友交流内容。一位朋友的工作流设计和运行突然出现故障,显示的数据部分都不正常,如下图:经过重启所有服务(包括缓存服务)现象依旧。清理了cache下workflow里面的文件,没用后经查找,是前一天把cache下的workflow文件夹清掉了,缓存服务不会自动重建。重新手动建立文件夹后恢复正常。

    2022年6月23日
    50
  • linux查看当前目录下的全路径

    使用pwd命令可查看当前目录下的全路径。当然,也可以使用manpwd查看帮助。

    2022年4月13日
    239
  • java 4种 布局方法_JAVA布局模式:GridBagConstraints终极技巧

    java 4种 布局方法_JAVA布局模式:GridBagConstraints终极技巧JAVA布局模式:GridBagConstraints终极技巧(2006-11-1421:07:33)最近正在修改《公交线路查询系统》,做系统的时候都是用NULL布局,由于NULL布局调用windows系统的API,所以生成的程序无法在其他平台上应用,而且如果控件的数量很多,管理起来也比较麻烦,最近我发现一个非常强大的布局模式:GridBagConstraints布局,先发一个实例:gridx…

    2022年9月9日
    0
  • Java如何创建文件?java创建文件流程图文详解!「建议收藏」

    Java如何创建文件?java创建文件流程图文详解!「建议收藏」用Java创建文件是非常容易的。以前我们创建文件等等行为完全通过提示来进行的,学习了java后,我们便可利用java通过命令来创建文件。1、打开您的IDE工具,并创建一个文件。2、接下来,您需要对您之前创建的文件创建一个main方法,我这里创建的文件为File_createNewFile,入下图所示:3、接下来,您需要newFile,并给它传入一个我们要创建的文件名。我们这里创建的是test.txt。4、如果您没有导包,那么就会出错,您需要导包,导入的包入下图所示。5、

    2022年6月18日
    24
  • Python爬虫常用:谷歌浏览器驱动——Chromedriver 插件安装教程

    Python爬虫常用:谷歌浏览器驱动——Chromedriver 插件安装教程我们在做爬虫的时候经常要使用谷歌浏览器驱动,今天分享下这个Chromedriver插件的安装方法。第一步、打开谷歌浏览器打开设置面板第二步、查看当前谷歌浏览器版本号第三步、点击插件下载,进去这个界面,找到跟自己谷歌浏览器版本号最相近的那一个。下载地址:插件下载这里有许多的版本,注意icons/向下的版本是无用的。选择icons/以上的版本,越靠近icons/的版本越新。第四步、找到对应版本后点击它计进入这个页面,点击notes.txt查看与Chrome版本是否对应。第五步、回

    2022年5月11日
    61

发表回复

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

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