Zabbix經過Smokeping檢測網絡質量並告警

(一)Smokeping概述
(1) Smokeping是一款用於網絡性能監測的開源監控軟件,主要用於對IDC的網絡情況,網絡質量,穩定性等作檢測,經過rrdtool製圖方式,圖形化地展現網絡的時延狀況,進而可以清楚的判斷出網絡的即時通訊狀況。php

(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 RRDtoolvim

(二)技術概述
使用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須要的參數:bash

-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

(三)具體步驟app

(一)在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/alertscripts
 AlertScriptsPath=/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 ide

[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=$5

if [ $# -lt 5 ]
 then
     echo
     echo " 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>&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 )
# 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
Zabbix經過Smokeping檢測網絡質量並告警
2,把模板連接到須要檢測網絡質量的站點上
Zabbix經過Smokeping檢測網絡質量並告警

Zabbix經過Smokeping檢測網絡質量並告警

至此zabbix經過smokeping監控網絡質量完成。
備註:
一、相關資源請查看:連接:https://pan.baidu.com/s/1S6N8W8qbOQZg8kWfsYfVAQ 提取碼:hwml

相關文章
相關標籤/搜索