一、相关历史
smokeping 发布于2001年, 是Tobi Oetiker的又一作品,他也就是大名鼎鼎的时序式绘图数据库引擎rrdtool的作者。 smokeping由Perl语言写成,底层依赖于rrdtool和fping。
注1:rrdtool 1.0版由作者发布于1999年,rrdtool的出现是为了取代自己先前创造的另一著名工具 MRTG。
注2:fping初版由Roland Schemers 发布于1992年,在2011年以前没有官方版本。目前版本维护者为 David Schweikert,自3.0版本之后,好事者Tobi Oetiker 为适应smokeping,对fping做了定制性修改。
二、组成部分
smokeping整个系统正常运行需要:web服务器软件、smokeping主服务、探针,rrdtool。
1. web服务器软件
smokeping拥有直观⾼效且漂亮的webUI,因此需要借助第三方web服务,默认使用的是apache服务,同时需要启用cgi模块。
2. smokeping主服务
smokeping主服务即smokeping工作进程,负责在后台(也可以前台)执行监测任务。
3.探针
smokeping实际使用的监测工具即探针。默认探针是fping,常用探针例如:
- fping 默认探针,使⽤icmp协议,可并发检测⽬标RTT(Round-Trip Time)数值
- echoping echo服务检测,使⽤tcp/udp协议,默认端口号7
- tcpping tcp端口检测,使用tcp协议监测端口连通性和时延
更多关于探针的介绍可以参阅 作者网站。
4. rrdtool
rrdtool(Round Robin Database Tool)即轮询调度数据库⼯具,使用C语言写成,是一种强大的绘图引擎,兼有时序数据库和绘图两种功能。rrdtool被许多监控平台所使用,如smokeping、cacti、open-falcon等。
三、简单部署
1. 安装
安装smokeping,是最简单的一部分,甚至在ubuntu 18.04 上,只需要一条命令:
sudo apt install -y smokeping
期间只会遇到两次交互式对话界面,Postfix 配置和libssl的配置:
![](https://i-blog.csdnimg.cn/blog_migrate/729838fb786df8f68af41ac7cba1e863.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d52acfdbe9ff46fba128d7e886c821ae.png)
我们将postfix仅作为smokeping依赖的⻆色安装,因此只需要选择local only
系统邮件域名可以随意设定,选择OK安装
![](https://i-blog.csdnimg.cn/blog_migrate/6e519958cca761088bcf3e355824dd12.png)
我们希望在更新libssl等软件包时,可以不再询问,自动重启相关服务,因此选择Yes apt会自动解决所有依赖,并且smokeping会自带apache的配置文件路径在(/etc/apache2/conf- available/smokeping.conf)
安装结束后,可以直接在浏览器通过http://IP地址/smokeping/smokeping.cgi 访问, 之所以url定位到smokeping.cgi,原因在于smokeping.cgi缺省配置下不属于默认index类型,可以 在/etc/apache2/mods-available/dir.conf 文件内进行添加:
![](https://i-blog.csdnimg.cn/blog_migrate/409227f42266381ce038c90603bd2f12.png)
保存完毕之后,重启apace2 服务:
sudo systemctl restart apache2
为了保证smokeping正常工作,我们通常要将smokeping和apache2 开机自启,防火墙放行服务端口:
sudo systemctl enable smokeping
sudo systemctl enable apache2
sudo ufw allow 80
现在,在浏览器器通过 http://IP地址/smokeping/ 即可打开smokeping web界面。如图: