博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用zabbix discovery监控网卡百兆
阅读量:7236 次
发布时间:2019-06-29

本文共 1589 字,大约阅读时间需要 5 分钟。

最近在review一些基础监控项,发现有部分基础的监控缺失,比如disk usage,network card相关的监控。
因为机器的配置不同,不太好配置一个统一的模板,不过在新版本的zabbix中有个功能Low-level discovery,可以根据主机的配置自动生成需要的监控,只需要传入宏变量即可。
比如监控每个网卡的出流量net.if.out[{#IFNAME}],监控网卡的speed os.get[NetworkCardSpeed,{#IFNAME}]
有些情况下网卡会从1000M变成100M,因此添加了相关的trigger:
1
{os.get[NetworkCardSpeed,{
#IFNAME}].last(0)}<1000
这里有两个细节的问题:
1)新版本的network card speed的item是os.get[NetworkCardSpeed,xxxx],在网卡的speed为unknown时,其结果是0。
1
2
zabbix_get -s 127.0.0.1 -k 
'os.get[NetworkCardSpeed,eth2]'
0
为了排除这种情况,更改trigger为如下规则:
1
2
{os.get[NetworkCardSpeed,{
#IFNAME}].last(0)}<1000 &
{os.get[NetworkCardSpeed,{
#IFNAME}].last(0)}#0
可以通过如下sql查看speed 为100M的机器:
1
2
3
4
select
distinct(a.host),c.ip,b.name,b.lastvalue from hosts a,items b,
interface c where a.hostid=c.hostid and a.hostid=b.hostid and
b.key_ like 
'os.get[NetworkCardSpeed%' 
and b.lastvalue=
'1000'
;
2)关于bonding
由于datanode的shuffle阶段需要大量的网络操作,很容易出现网卡瓶颈,因此datanode一般会做网卡的bonding,常用的模式是6,根据原理来看outgoing和incoming的流量大致应该是相同的,但实际情况下看到,outgoing的流量一般是比较平均,而incoming的流量相差很大,下面是一个sar的结果:
1
2
3
4
14时24分28秒     IFACE   rxpck
/s   
txpck
/s   
rxbyt
/s   
txbyt
/s   
rxcmp
/s   
txcmp
/s  
rxmcst
/s
14时24分29秒      eth0      6.93  28139.60    473.27 41837599.01      0.00      0.00      6.93
14时24分29秒      eth1  29448.51  31732.67 1929669.31 47286517.82      0.00      0.00      6.93
14时24分29秒     bond0  29455.45  59872.28 1930142.57 89124116.83      0.00      0.00     13.86
另外,如果一个网卡由1000M变为100M也不会出现短板效应(之前一直以为会出现短板效应),而是根据speed的情况来做流量分发,speed大的流量大,speed小的流量小。

另外注意bonding配置中miimon参数的含义,它是检测的server到switch的直连链路问题,如果switch的上层链路出问题是不会work的。交换机链路的ha就需要考虑以太通道等技术了。。
本文转自菜菜光 51CTO博客,原文链接:http://blog.51cto.com/caiguangguang/1393656,如需转载请自行联系原作者
你可能感兴趣的文章
No package mysql-server available.
查看>>
[ios]sqlite轻量级数据库学习连接
查看>>
它们的定义ListView,实现Item除去滑动和滑出菜单效果
查看>>
2015第我35周三
查看>>
Web前端研发工程师编程能力飞升之路
查看>>
C#编程总结(十)字符转码
查看>>
linux gcc头文件搜索路径
查看>>
对线程的理解
查看>>
更改linux swappiness 提高物理内存使用率
查看>>
J-Link GDB Server Command
查看>>
如何用.NET生成二维码?
查看>>
C++一个简单的手柄类模板
查看>>
The Water Problem(排序)
查看>>
atitit.无线上网卡 无法搜索WiFi 解决无线路由器信号不能被连接
查看>>
C#进阶系列——DDD领域驱动设计初探(三):仓储Repository(下)
查看>>
android 电容屏(三):驱动调试之驱动程序分析篇
查看>>
数字签名时间戳服务器的原理 !
查看>>
C++ Split string into vector<string> by space
查看>>
JavaScript学习——内置属性
查看>>
Oracle Profile 使用详解--zhuanzai
查看>>