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


相关推荐

  • 【Time】 不确定度的A类、B类评定及合成

    【Time】 不确定度的A类、B类评定及合成不确定度的A类、B类评定及合成由于测量结果的不确定度往往由多种原因引起的,对每个不确定度来源评定的标准偏差,称为标准不确定度分量,用符号ui表示。(1)不确定度的A类评定用对观测列进行统计分析的方法来评定标准不确定度,称为不确定度A类评定;所得到的相应标准不确定度称为A类不确定度分量,用符号uA表示。它是用实验标准偏差来表征。计算公式:一次测量结果An的uA=S;…

    2022年4月19日
    263
  • jvm调优常用工具

    jvm调优常用工具常用的JVM调优工具:Jconsole,jProfile,VisualVMJconsole:jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里JProfiler:商业软件,需要付费。功能强大。详细说明参考这里VisualVM:JDK自带,功能强大,与JProfiler类似。推荐。调优的方法观察内存释放情况、集合类检查、对象树上…

    2022年5月8日
    82
  • Anaconda–Pycharm安装教程[通俗易懂]

    Anaconda–Pycharm安装教程[通俗易懂]因为不想每次下载安装的时候都要去找博客,干脆就参考别人的博客,把自己需要的写下来了。1、Anaconda的安装从官网https://www.anaconda.com/download/下载Anaconda的安装程序,在该页面选择你电脑所对应的系统(Windows、macOSorLinux)以及操作系统位数(64位or32位)。选择Python3.8,等待下载完成,之后便会得到一个anaconda的exe可执行文件。![在这里插入图片描述](https://img-blog.csd

    2022年8月28日
    3
  • 抽象数据类型Triplet和ElemType的基本操作(8个)

    抽象数据类型Triplet和ElemType的基本操作(8个)抽象数据类型Triplet和ElemType的基本操作(8个)//采用动态分配的顺序存储结构typedefElemType*Triplet;//由InitTriplet分配3个元素存储空间//Triplet类型是ElemType类型的指针,存放ElemType类型的地址StatusInitTriplet(Triplet&T,ElemTypev1,ElemType

    2022年5月12日
    42
  • 常用降压电路设计「建议收藏」

    常用降压电路设计「建议收藏」一、5V转3.3V电路设计1.AMS1117-3V3AMS1117-xxx是一颗LDO芯片,这个系列有很多型号,后面的xxx代表输出电压,如果是AMS1117-ADJ表明输出是通过电阻调节的。实物图展示:常见封装:电路图:AMS1117-3.3最大输出可达1A,但是其压差较大,一般在1.1V左右,所以功耗和发热量也会随着电流的增大而急剧增大,对于大电流负载,不推荐使用LDO电路,使用DCDC电路效果更佳。2.ME6211C33ME6211C33是一颗低功耗低压差LDO芯片,其工作

    2022年6月20日
    32
  • 根据IP地址和子网掩码求网络号、主机号

    根据IP地址和子网掩码求网络号、主机号一、理论阐述目前,IP地址主要使用32位的二进制来表示,即IPv4地址。由于32位二进制不容易记忆和书写,故采用点分十进制形式来表示IP地址。IP地址由两部分组成{<网络号>,<主机号>},网络号表示计算机所在的网络,供路由器在进行路由选择时使用;主机号是计算机在该网络中的唯一标识。IP地址分为A、B、C、D、E五类,其中:A类IP地址第一个字节的范围是:1~126…

    2022年6月24日
    31

发表回复

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

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