smokeping 监控平台安装和部署

一、相关历史

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的配置:

我们将postfix仅作为smokeping依赖的⻆色安装,因此只需要选择local only

系统邮件域名可以随意设定,选择OK安装

我们希望在更新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 文件内进行添加:

保存完毕之后,重启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界面。如图:

2.配置文件介绍

smokeping 的配置文件默认存放在/etc/smokeping/ ⽬录下,配置文件采用David Schweikert(没错,就是fping的开发者)开发的Config::Grammar解析器,基本语法为:

  • '#' 表示行注释
  • '' 在行尾表示行连接符,但是会在两个连接的行之间插一个空格,在非行尾表示转义字符
  • '@include' 用于包含另一个配置文件,如 @include /etc/smokeping/config.d/pathnames
  • '@define' 用于定义文本宏,如 @define M_HOST 10.10.10.10
  • 在配置表的区域中如果有空格可以用 " 或 ' 引起来,也可以使用转义字符 ,在引号内的引号必须使用转义字符 +、++、+++ 分别表一级、二级、三级子配置项

主配置文件为 /etc/smokeping/config,我们观察打开config文件会发现其实smokeping的配置文件远比我们想象的要结构化:

该配置文件中用@include语句引用了其他具有特殊分工的配置文件。

(1). General

/etc/smokeping/config.d/General 包含基础信息的配置

可以更改所有者(owner)、联系方式(contact)、邮件服务器(mailhost)、主站cgi地址(cgiurl,此选项对主从架构很重 要)、syslog消息类型(syslogfacility)。同时,通过@include字段引用了同目录下的pathnames。

来源:https://www.bilibili.com/read/cv3319988/

     https://mefj.com.cn/lur2703.html

原文地址:https://www.cnblogs.com/mefj/p/13860582.html