设为首页 收藏本站
查看: 1165|回复: 0

[经验分享] zabbix检测网络质量取代smokeping

[复制链接]

尚未签到

发表于 2019-1-17 10:54:07 | 显示全部楼层 |阅读模式
  趁着中午休息时间写篇博吧。

  最近让我很头疼的一件事就是公司网络的监控,不知道该用什么方案解决,大的网络故障一出现,老总第一时间就问怎么没有监控,这锅真的不好甩。花钱的方案有,但是作为运维人来说不是首选。怎么从开源领域找到一个切实可行的办法呢?


  •   写脚本,全国的节点每个机房抽两台机器跑脚本,管理难度大;

  •   smokeping,搭一台,这是有必要的,但是告警不好聚合与分级,没办法做总的预测;

  •   用zabbix写一个template替代smokeping,看好zabbix告警聚合分级功能;

  zabbix-trapper:这是一种数据传递方式,不同于zabbix-agent,这种方式定义的item需要使用zabbix-sender来发送数据给zabbix-server
  (原文:http://wuhf2015.blog.运维网.com/8213008/1766184)
  zabbix-sender需要的参数:

  -z - 指定zabbix server的IP
  -p - 指定zabbix server的端口,默认为10051
  -s - 指定目标主机,主机名必须是配置中的hostname而不是visible name,切记
  -k - 指定key,我们定义的trapper的key,这边便是我们前面定义的trap
  -o - 指定要传递的数据
  

  使用fping探测各节点丢包率

  fping的参数:

  -b ping包大小

  -c ping的次数
  -p ping间隔,单位ms
  放在server端的externalscripts中的脚本:
#!/bin/bash
#
ZBXSERVER=127.0.0.1
FPING=/usr/sbin/fping
ZBXSENDER=/usr/local/zabbix/bin/zabbix_sender
# Where to send ping
IP=$1
# How many ping to send
COUNT=$2
# What interval between ping [ms]
INTERVAL=$3
# How many bytes in one ping
BYTES=$4
# 'Hostname' of the host which will collect data
HOSTNAME=$5
if [ $# -lt 5 ]
then
     echo
     echo " Not enough parameters"
     echo " Usage: zbxsmokeping     "
     echo " Zabbix External Check Item ex.: zbxsmokeping[{HOST.IP},6,1000,68,{HOST.HOST}]"
  exit 2
fi
# debug
#echo $FPING -b $BYTES -c $COUNT -q -p $INTERVAL $IP 2>&1
OUTPUT=`$FPING -b $BYTES -c $COUNT -q -p $INTERVAL $IP 2>&1 | awk '{print $5,$8}' | tr -d "%|," | tr -s " " "/" | awk -F"/" '{print $3,$4,$5,$6}'`
tab=($OUTPUT)
#echo ${tab[3]}
# debug
# echo $ZBXSENDER -z $ZBXSERVER -p 10051 -s $HOSTNAME -k PrimaryLoss -o ${tab[0]}
# echo $ZBXSENDER -z $ZBXSERVER -p 10051 -s $HOSTNAME -k PrimaryLatencyMin -o ${tab[1]}
# echo $ZBXSENDER -z $ZBXSERVER -p 10051 -s $HOSTNAME -k PrimaryLatencyMax -o ${tab[3]}
# echo $ZBXSENDER -z $ZBXSERVER -p 10051 -s $HOSTNAME -k PrimaryLatencyAvg -o ${tab[2]}
$ZBXSENDER -z $ZBXSERVER -p 10051 -s $HOSTNAME -k SmokLoos -o ${tab[0]} -v | grep  "failed: 1" &> /dev/null
$ZBXSENDER -z $ZBXSERVER -p 10051 -s $HOSTNAME -k SmokLatencyMin -o ${tab[1]} -v | grep  "failed: 1" &>/dev/null
$ZBXSENDER -z $ZBXSERVER -p 10051 -s $HOSTNAME -k SmokLatencyMax -o ${tab[3]} -v |grep  "failed: 1"  &>/dev/null
$ZBXSENDER -z $ZBXSERVER -p 10051 -s $HOSTNAME -k SmokLatencyAvg -o ${tab[2]} -v | grep  "failed: 1"  &>/dev/null  

  脚本赋予执行权限和属主,模板挂载需要探测的节点上,并不需要在每个节点上定义键值对。
  模板中的项:

  模板中的触发值:

  

  模板中的图:

  以上我们的zabbix形式的smokeping已经建立完成,下面就要用zabbix关联触发与平均值的方式设置主干网的监控了。

  1.每个机房分一个组,在组的基础上设置一个丢包率平均值的it

  

  2.设置这个组的警戒点

  

  3.将几个组的警戒点关联在一起,都达到触发要求的时候执行总判断,判断为主干网故障。

  


  



附件:http://down.运维网.com/data/2367626


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-664320-1-1.html 上篇帖子: smokeping对网络进行监控 下篇帖子: Centos6.5 或6.x 5.x搭建smokeping
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表