(一)Smokeping概述

  • smokeping是rrdtool的作者TobiOetiker的作品,用Perl语言写的,主要是监视网络性能,如:延时,丢包率,是否BGP多线等。它在图形显示方面有很大优势,也是一个很有特点的opensource工具。还有多种探测方式,包括fping、echoping、dig、curl等;监视dns、ssh性能,底层也是rrdtool做支持,特点是画的图非常漂亮,网络丢包和延迟用颜色和阴影来表示,非常直观。同时也可以在多个节点收集同一个监测点的数据;很有特色的alert(告警)设置,不只是简单的设置一个阀值。
  • smokeping 需要多个包的支持(包括perl依赖,还有echoping、fping、smokeping等).
  • 安装这些包可以通过yum和源码编译安装两种方式。(有内置yum包直接yum,没有内置yum包的下载源码包然后解压再进行编译安装)
  • apache主要提供web页面展示功能,其实也可以用其他web服务器,如nginx。但是apache在linux服务器上都是默认安装的,如果你的linux服务器上的apache应用没有被其他服务占用的话完全可以直接使用apache作web端页面展示的服务器。

原文链接:https://blog.csdn.net/yuki5233/article/details/88884084

(1) Smokeping是一款用于网络性能监测的开源监控软件,主要用于对IDC的网络状况,网络质量,稳定性等做检测,通过rrdtool制图方式,图形化地展示网络的时延情况,进而能够清楚的判断出网络的即时通信情况。

(2)SmokePing的特点
SmokePing keeps track of your network latency:
Best of breed latency visualisation.(最佳图形展示功能,延时丢包等可以很直观的可视化展现)
Interactive graph explorer.(交互式浏览器图表)
Wide range of latency measurement plugins.(丰富的网络状况测量插件)
Master/Slave System for distributed measurement.(支持主从的分布式部署模式)
Highly configurable alerting system.(自定义报警功能)
Live Latency Charts with the most ‘interesting’ graphs.(漂亮、免费、开源)
Free and OpenSource Software written in Perl written by Tobi Oetiker, the creator of MRTG and RRDtool

(二)技术概述

使用zabbix通过smokeping来检测网络质量zabbix官方论坛有推荐,可以登陆查看下,具体地址如下:https://www.zabbix.com/forum/showthread.php?t=31147
技术关键点有三点:

1,zabbix-trapper:这是一种数据传递方式,不同于zabbix-agent,这种方式定义的item需要使用zabbix-sender来发送数据给zabbix-server

2,zabbix-sender需要的参数:

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

3,使用fping探测各节点丢包率

fping的参数:
-b ping包大小
-c ping的次数
-p ping间隔,单位ms

(三)具体步骤

(一)在zabbix_server端的配置
1,放开zabbix_server.conf中ExternalScripts的配置并设置为:ExternalScripts=/usr/local/zabbix/externalscripts

[root@localhost externalscripts]# vim /usr/local/zabbix/etc/zabbix_server.conf### Option: AlertScriptsPath
#       Full path to location of custom alert scripts.
#       Default depends on compilation options.
#
# Mandatory: no
# Default:
# AlertScriptsPath=${datadir}/zabbix/alertscriptsAlertScriptsPath=/usr/local/zabbix/alertscripts### Option: ExternalScripts
#       Full path to location of external scripts.
#       Default depends on compilation options.
#
# Mandatory: no
# Default:
# ExternalScripts=${datadir}/zabbix/externalscripts
ExternalScripts=/usr/local/zabbix/externalscripts

2,把zabbix官方推荐的脚本放到ExternalScripts=/usr/local/zabbix/externalscripts/目录下,http://www.mbs-it.pl/inne/zbxsmokeping

[root@localhost externalscripts]# cat zbxsmokeping
#!/bin/bash
# Where is your zabbix server
ZBXSERVER=172.19.152.247
# where is fping tool?
FPING=/usr/sbin/fping
# where is zabbix_sender tool?
ZBXSENDER=/usr/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=$5if [ $# -lt 5 ]thenechoecho " Not enough parameters"echo " Usage: zbxsmokeping <HOST_IP> <NUMBERS_OF_PINGS> <INTERVAL> <BYTES> <TO_WHICH_HOST_SEND_DATA_IN_ZABBIX>"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>&1OUTPUT=`$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 )
# debug
#echo $ZBXSENDER -z $ZBXSERVER -p 10051 -s $HOSTNAME -k SmokLoos -o ${tab[0]}
#echo $ZBXSENDER -z $ZBXSERVER -p 10051 -s $HOSTNAME -k SmokLatencyMin -o ${tab[1]}
#echo $ZBXSENDER -z $ZBXSERVER -p 10051 -s $HOSTNAME -k SmokLatencyMax -o ${tab[3]}
#echo $ZBXSENDER -z $ZBXSERVER -p 10051 -s $HOSTNAME -k SmokLatencyAvg -o ${tab[2]}$ZBXSENDER -z $ZBXSERVER -p 10051 -s $HOSTNAME -k SmokLoos -o ${tab[0]}  -v | grep "Failed 1"
$ZBXSENDER -z $ZBXSERVER -p 10051 -s $HOSTNAME -k SmokLatencyMin -o ${tab[1]} -v | grep "Failed 1"
$ZBXSENDER -z $ZBXSERVER -p 10051 -s $HOSTNAME -k SmokLatencyMax -o ${tab[3]} -v | grep "Failed 1"
$ZBXSENDER -z $ZBXSERVER -p 10051 -s $HOSTNAME -k SmokLatencyAvg -o ${tab[2]} -v | grep "Failed 1"
echo 1

3,给该脚本执行权限,并重启下zabbix_server服务。

[root@localhost externalscripts]# chmod +x zbxsmokeping
[root@localhost externalscripts]# ll zbxsmokeping
-rwxr-xr-x 1 root root 1649 Dec 27 17:38 zbxsmokeping
[root@localhost externalscripts]# /etc/init.d/zabbix_server restart

至此zabbix_server端配置完成。

(二)在浏览器端配置。
1,把官方推荐的模板导入进来,http://www.mbs-it.pl/inne/zbx_export_templates_smokeping.xml

2,把模板链接到需要检测网络质量的站点上


至此zabbix通过smokeping监控网络质量完成。
备注:

参考链接 :
smokeping网络监控 : https://www.cnblogs.com/nulige/p/6691700.html
【smokeping】网络性能监控,机房网络评估 : https://blog.csdn.net/XYliurui/article/details/103107632?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

https://blog.51cto.com/liqingbiao/2055520

Zabbix通过Smokeping检测网络质量并告警相关推荐

  1. 通过持续Ping来检测网络质量

    通过在两个远程节点之间持续ping,可以来检测网络质量是否稳定. 下面的办法是每秒ping一次,每天一个日志. 一.ping脚本/opt/pinglog.sh,带日志记录 #!/usr/bin/env ...

  2. zabbix使用fping监控任意两个节点之间的网络质量、丢包率和响应时间

    zabbix使用fping监控任意两个节点之间的网络质量.丢包率和响应时间 zabbix使用fping监控任意两个节点之间的网络质量.丢包率和响应时间之前的博文 使用zabbix3.0.4的ICMP ...

  3. 使用腾讯云轻量应用服务器搭建网络质量拨测工具 SmokePing

    本文原载于 https://www.idc.moe/archives/qcloud-Lighthouse-SmokePing.html 作者:iks SmokePing 是由 RRDtool 的作者 ...

  4. Android实时网络质量检测

    Android实时质量检测 传送门: github csdn 原理 使用ping -n -i %f -c %d %s命令实现网络质量检测,具体参数如下: -n count 发送 count 指定的 E ...

  5. 网络质量分析-NQA

    NQA简介 网络质量分析NQA(Network Quality Analysis)是一种实时的网络性能探测和统计技术,可以对响应时间.网络抖动.丢包率等网络信息进行统计.NQA能够实时监视网络QoS, ...

  6. 一种投影法的点云目标检测网络

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 文章导读 本文来源于早期的一篇基于投影法的三维目标检测文章<An Euler-Region-Pr ...

  7. MPLSMTU对MPLS网络质量的影响

    多TU值的大小,将直接影响网络的质量和应用.通常MTU越高,网络质量就越好,但MTU会影响应用,因此需要对计算网络进行总体评价. MPLS标签栈像一个"垫层",位于两个数据帧头部和 ...

  8. Waymo离线点云序列3D物体检测网络 (3D Auto Labeling): Offboard 3D Object Detection from Point Cloud Sequences

    本文介绍一篇Waymo基于点云序列的3D物体检测网络:3D Auto Labeling,论文已收录于CVPR 2021. 这里重点是理解本文提出的 Object-centric Auto Labeli ...

  9. 详解两阶段3D目标检测网络PVRCNN:Point-Voxel Feature Set Abstraction for 3D Object Detection

    在<动手学无人驾驶(4):基于激光雷达点云数据3D目标检测>一文中介绍了3D目标检测网络PointRCNN.今天介绍该作者新提出的3D检测模型:PVRCNN,论文已收录于CVPR2020. ...

最新文章

  1. java各种容器内部实现原理
  2. 题解报告:hdu1219AC Me
  3. 现实世界的数据结构:JavaScript中的表格和图形
  4. Linux文件inode用完一例
  5. 【Elasticsearch】elasticsearch shard 分片
  6. 7种提高工作效率的Vim操作
  7. path和classpath的用途
  8. ccf 推荐会议和期刊
  9. 【路径规划】全局路径规划算法——Dijkstra算法(含python实现)
  10. 2.1.5、会员权限管理系统应用
  11. python画圆角矩形_js绘制圆角矩形
  12. 基于MediaPipe API实现骨骼识别
  13. 概率论的学习和整理8: 几何分布
  14. 关于WBS的一些知识点
  15. 人脸检测--传统方法
  16. Java编程那些事儿70——抽象类和接口(三)
  17. adwords与adsence
  18. android8.1字体,Android8.1系统字体
  19. 开车遇暴雨请戴墨镜!快转起,很多人会感激你的!
  20. 【组队学习】Task06:FOR、IF、以及while

热门文章

  1. oracle 快照过旧怎么回退_我的世界20w45a:1.17首个快照!加入水晶、蜡烛、口袋、铜锭……...
  2. Oracle备份恢复概要
  3. 热加载beetl模板
  4. 详细记录基于vue+nodejs+mongodb构建的商城学习(四)基于项目的node.js开发后端的学习与梳理总结...
  5. 预防AD对象被误删除
  6. Using the isBranch() method to determine if a Tree item is a branch or leaf
  7. Hyper-V 2016 系列教程49 Windows Server Backup 备份计划的新建备份、修改备份和停止备份...
  8. html中table边框属性
  9. AD排错最佳实践—— 技巧与捷径-笔记
  10. Lombok的注解简单介绍