介绍

smokeping是rrdtool的作者Tobi Oetiker的作品,用Perl语言写的,主要是监视网络性能,所以它在图形显示方面有很大优势,也是一个很有特点的opensource工具:多种探测方式,包括fping、echoping、dig、curl等;监视dns、ssh性能,底层也是rrdtool做支持,特点是画的图非常漂亮,网络丢包和延迟用颜色和阴影来表示,非常直观。同时也可以在多个节点收集同一个监测点的数据;很有特色的alert设置,不只是简单的设置一个阀值。

同时smokeping也是对IDC网络质量,稳定性等最好的检测工具,包括常规的 ping,dig,echoping,curl等,可以监视www服务器性能,监视dns查询性能,监视ssh性能等。底层也是 rrdtool 做支持,特点是画的图非常漂亮,网络丢包和延迟用颜色和阴影来表示。

今天就略过什么主从配置/依赖/组件等等,来介绍近乎一键的方式部署+自定义配置。

部署流程

1.安装docker

这个就不多说了,以防有人到现在还不知道docker怎么安装,这里丢个官方命令。如果是国内机器,可以查阅这篇文章

curl -fsSL https://get.docker.com | bash -s docker

2.Docker部署smokeping

docker pull linuxserver/smokeping
docker run -d \
--name=smokeping \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-p 9080:80 \
-v /home/config/smokeping:/config \
-v /home/data/smokeping:/data \
--restart unless-stopped \
linuxserver/smokeping

这里外部访问端口是9080,映射的config和data文件夹路径分别是:

/home/config/smokeping
/home/data/smokeping

3.修改监控频率

vi /home/config/smokeping/Database

根据自己需要进行更改

更改完后重启docker即可

4.修改监控目标

vi /home/config/smokeping/Database/Targets

添加格式为:

++ xxx
menu = xxx
title = xxx
host = 1.1.1.1
#采用的是分层结构,用+表示,例如第一层“+”,第二层“++”一次类推可以增加也可以修改

这里要注意一下,更改完监控目标后需要删除rrd文件缓存,然后再重启docker,否则会报错

cd /home        #进入你本地映射的文件夹
find data -type f -name "*.rrd" -exec rm {} \;     #递归删除 data 文件夹及其子文件夹中的所有 .rrd 文件

删除完后重启就完成了