一、前言
1、本监控方案主要由smokeping+promethues+grafana组成。smokeping主要数据采集,promethues作为数据存储,grafana数据展示
2、其实smokeping也有自己的展示方案,但是太low太难看,不符合当下装逼的风格,所以果断换成grafana
3、之所以使用promethues,是由于目前的生产环境有一个promethues,可以直接复用,当然也可以选用graphite等
二、环境准备
| 组件 | 版本 |
|---|---|
| OS | Ubuntu 16.04.4 LTS |
三、smokeping
smokeping的原理其实很简单,就是使用fping工具ping全国各省的IP,将结果存储在rrd文件当中
安装smokeping
root@host-10-40-72-180:/tmp# apt-get install gcc make rrdtool librrds-perl librrds-dev openssh-client libcgi-fast-perl libconfig-grammar-perl libdigest-hmac-perl liblwp-protocol-https-perl liblwp-mediatypes-perl fpint root@host-10-40-72-180:/tmp# ./configure --prefix=/usr/local/smokeping root@host-10-40-72-180:/tmp# unset LC_ALL root@host-10-40-72-180:/tmp# make && make install安装过程中需要很多依赖包,如果./configure报错了,就安装对应的包就行了
配置过程
克隆代码
cd /tmp git clone https://github.com/wilsonchai8/idc_ping_monitor.git创建config文件,并且配置全国各区域ip监测点
smokeping_home_dir=/usr/local/smokeping cd $smokeping_home_dir/etc cp -rf /tmp/idc_ping_monitor/smokeping/* ./监测点ip主要由国内的三大运营商的IP站点组成,也可以自定义需要检测的站点,更多的ip地址,可以参考 
附上源代码:
https://github.com/wilsonchai8/idc_ping_monitor/blob/master/prometheus/collection_to_prometheus.py
五、grafana
将idc_ping_monitor/grafana/ping_monitor.json导入到grafana即可
效果:


六、小结
