静看光阴荏苒
不管不顾不问不说也不念

SmokePing主从服务器详细配置教程

前排先友情提示,SmokePing的整个主从服务器配置过程相当麻烦,并且稍有一个地方不留意就可能导致图表不能正常出数据。

先简要介绍一下SmokePing的主从配置完成后可以用来做什么。举一个最简单的例子吧,假设你现在有一台香港的VPS,你想监控国内三网(电信、联通、移动)到这台VPS的网络数据,那么就需要配置SmokePing的主从。这里你们可以理解成电信、联通、移动分别都是三台从服务器。而我们要做的就是把这三台从服务器和主服务器对接,将监控的数据发送给主服务器,接着主服务器将监控数据通过SmokePing的WEB界面展现给用户。

说白了,SmokePing的主从就是为了实现多个不同线路对某一个相同的目标线路做监控而准备的。

那么现在我们就可以动手来尝试配置了,不过前提是你已经按照我这篇文章部署好了SmokePing:

CentOS7详细安装配置SmokePing教程

今天的这篇文章由于是配置主从,所以结合上面的文章后,我们还需要对一些地方稍作修改才能最终达成我们的目标。当然,如果你不需要SmokePing主从相关的功能,那么上面这篇文章就已经足够满足你的日常需求了。

进入正题~

首先我们在原有文章的基础上,修改一下主服务器上的Nginx配置文件,加入下面一行代码:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

使用vi打开Nginx的站点配置文件:

vi /etc/nginx/conf.d/somkeping.conf

将代码加在如下图红框所标注的地方:

接着编辑主从服务器连接的密钥文件:

vi /opt/smokeping/etc/smokeping_secrets.dist

加入我们的从服务器密钥,这里我假设我的从服务器是一台日本的机器,并且我将它命名为jp:

那么上图中,我们必须要按照这样的格式来添加从服务器的密钥,就比如:

jp:密码
us:密码
cn:密码
从服务器名称:密码
以此类推,格式必须是这样,不能有一点差错!

接着我们要把这个文件的所有者改为Nginx:

chown -R nginx:nginx /opt/smokeping/etc/smokeping_secrets.dist

然后现在我们就要来配置主服务器中SmokePing的配置文件了,配置文件的路径如下:

/opt/smokeping/etc/config

这里我们用FlashFXP把它下载到本地,并用专业一点的编辑器打开它。

LALA这里把这个配置文件分为三部分来讲解,分别为:*** General ***、*** Slaves ***、*** Targets ***。

我们先看到General这里,这里最简单,我们只需要在原有的基础上修改一个地方就可以了,将cgiurl中的地址修改成你们的主服务器公网IP:

接着我们看到Slaves这里,默认的配置如图所示:

各位注意主从配置,Slaves就是用来定义从服务器名字的,还记得刚刚我们修改的smokeping_secrets.dist文件吗?我将里面的从服务器名字修改成了jp,那么这里也应该像下面这样修改:

+jp
display_name=jp
color=00ff00

含义分别为:

一、+jp是这个从服务器的命名。
二、display_name=是在WEB前端展现的这个从服务器名字(图表内)
三、此服务器的描线色,也就是在图表上展示线的颜色,根据RGB颜色代码表我们可以自行修改。

那么,假设这里LALA只打算配置一台从服务器,那么我们就可以按照下图来设置:

那如果我们要配置多台从服务器呢?很简单嘛,举一反三,我们只需要按照这种格式往配置文件内加入就好了:

+从服务器名
display_name=在图表上展示的名字
color=00ff00

现在让我们看到第三部分:Targets,默认的配置如图所示:

在这个Targets下的配置项目,我们首先要理解一个层级关系。关系如下:

+ Test相当于一个菜单中的总栏目。

++ James则是Test总栏目下的一个监控项目,这个监控项目被命名为James,而在这个监控项目下面有几个具体的参数:

menu = James
title =James
alerts = someloss
slaves = boomer slave2
host = james.address

含义分别为:

一、menu是这个监控项目在菜单下要显示的名字。也就是在WEB前端菜单栏中展现的名字。
二、title顾名思义就是当我们点击进入这个项目后,这个项目在WEB前端中所展示的标题。(一般用在图表标题内)
三、alerts是监控报警的相关设置,今天LALA不做这方面的介绍,大家忽略即可。
四、slaves这个参数就很重要了,大家还记得刚才我们在配置文件上面设置了一个什么吗?对,我们刚才设置了一个从服务器的节点,并且命名为了jp,那么如果接下来我们打算让jp这台从服务器参与这个监控项目,这里就要填写对应的从服务器名字了,那么如果是我的话,这里就应该填写jp。
五、host顾名思义就是你这个监控项目要被监控的对象了,一般这里都填写被监控的服务器公网IP地址。

接着我们看到最后一部分:

++ MultiHost
menu = Multihost
title = James and James as seen from Boomer
host = /Test/James /Test/James~boomer

这里我们可以简单的把MultiHost理解成“汇总”。即在Test这个总栏目下,如果有多个监控项目,这里就相当于是把多个监控项目进行汇总处理。

这里我们需要注意的是host这个参数,在这个参数后面,我们应当按照“总栏目名/监控项目名”来配置,并且多个监控项目中应该用一个空格分开。

在我们熟悉了上面这些参数后,假设LALA这里要配置一个监控项目,并且这个监控项目要是我主服务器和从服务器都需要参与的,该怎么写呢?详细的配置如下:

+ Hongkong
menu= 香港
title =香港线路数据
#parents = owner:/Test/James location:/

++ Encotus

menu = Enoctus
title =EnoctusHKDC1(香港HKBN)
alerts = someloss
slaves = jp
host = 被监控服务器的公网IP

++ MultiHost

menu = 汇总
title = 汇总
host = /Hongkong/Encotus

如图所示,需要特别注意的几个参数我都用红框标注了:

在确定配置无误后,我们上传并替换掉服务器内的旧配置文件,如图:

接着我们修改一下SmokePing的WEB目录所有者:

chown -R nginx:nginx /opt/smokeping/htdocs

然后启动SomkePing:

cd /opt/smokeping/bin
./smokeping --config=/opt/smokeping/etc/config --logfile=smoke.log

接着启动FCGI:

spawn-fcgi -a 127.0.0.1 -p 9007 -P /var/run/smokeping-fastcgi.pid -u nginx -f /opt/smokeping/htdocs/smokeping.fcgi

最后启动Nginx:

systemctl start nginx

至此,主服务器相关的配置就大功告成了。接下来我们要配置从服务器。

首先从服务器内也需要先按照我之前的文章安装好SmokePing,然后进行下面一系列的设置,这里就不多说了,我直接把命令敲上来:

新建三个目录:

cd /opt/smokeping/htdocs
mkdir cache
mkdir data
mkdir var

修改权限:

chmod 600 /opt/smokeping/etc/smokeping_secrets.dist

修改配置文件

cd /opt/smokeping/etc
cp config.dist config
vi config

将对应的三个参数改成下面的路径:

imgcache = /opt/smokeping/htdocs/cache
datadir  = /opt/smokeping/htdocs/data
piddir  = /opt/smokeping/htdocs/var

接着到了一个很关键的地方,在从服务器内我们也需要配置密钥,编辑smokeping_secrets.dist:

vi /opt/smokeping/etc/smokeping_secrets.dist

与之前不同的是,从服务器内的这个文件,只需要填写我们主服务器上面的密码就行了,而不需要按照从服务器名:号密码的形式来填写,如图:

最后我们启动从服务器内的SomkePing。

进入到bin目录:

cd /opt/smokeping/bin

执行:

./smokeping --master-url=http://你的主服务器公网IP/smokeping.fcgi --cache-dir=/opt/smokeping/htdocs/cache/ --shared-secret=/opt/smokeping/etc/smokeping_secrets.dist --slave-name=jp --logfile=/opt/smokeping/bin/slave.log --debug-daemon

这个启动命令很长,让我在下面详细说明一下各个参数的作用:

一、–master-url这个参数最好理解吧,后面只需要填写你的主服务器公网IP即可。
二、–cache-dir缓存文件存储的路径,不多解释
三、–shared-secret密钥文件的绝对路径。
四、–slave-name对接主服务器上的从服务器名字,这里一定要修改成你们自己的,我这里是jp。
五、–logfile日志文件保存路径。
六、–debug-daemon开启动态debug,可以实时在日志文件内写运行信息,方便我们排错。

在这六个参数里面,大家一定要额外注意的就是–master-url以及–slave-name了。切记这两个参数要改成你们自己的。

此时我们浏览一下从服务器内的日志文件:

cat /opt/smokeping/bin/slave.log

看到有如下图红框标注的信息就说明从服务器和主服务器的对接是正常的:

按照SmokePing的特性,我们稍等5分钟,在WEB界面上应该就可以看到图表内有数据显示出来了,并且是主服务器和从服务器两个线路的监控数据,如图所示:

注:蓝色数据线表示主服务器的监控数据,绿色数据线就是我们配置好的JP服务器监控数据。

我们单击这个图表进入可以看到更详细的图表数据:

如果我们再单击一下这个详细图表数据则可以根据时间来自定义生成一个新的图表,更加方便我们查看某一个时间段的数据:

至此,SmokePing的主从配置就大功告成了。

写在最后:

有一些小瑕疵可能我们需要修一下。

1、如果主服务器是国外机器,很可能时区不对,导致SmokePing的图表时间显示也不对,所以我们只需要把服务器的时区改成东八区即可:

timedatectl set-timezone Asia/Shanghai

2、SmokePing的WEB页面如何DIY的更美观?修改这个文件即可:

/opt/smokeping/etc/basepage.html.dist

最后上一张LALA搭建完成的网页截图吧:

PS:有大佬愿意赞助几台电信、联通、移动的服务器话,我可以建一个这种监控站。有意向的话可以联系我的邮箱。

赞(3)
未经允许不得转载:荒岛 » SmokePing主从服务器详细配置教程
分享到: 更多 (0)

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    lala很好用 噢不 lala写的文章很好用 :mrgreen:

    橘子3年前 (2021-10-21) Google Chrome 81.0.4044.92 Google Chrome 81.0.4044.92 Windows 10 x64 Edition Windows 10 x64 Edition回复

分享创造快乐

广告合作资源投稿