介绍
SmokePing是网络延迟跟踪工具。跟踪服务器的网络延迟可以帮助您了解服务器的整体运行状况和可用性。例如,它可以帮助您确定您的网络是否过载或提醒您丢包,这可能指示不正确的路由器配置或已关闭的设备。 SpokePing的创建者,托比亚斯欧梯克,还创建了一个名为数据记录和时间序列绘图工具 RDDtool 。 SmokePing使用RDDtool,因此您也可以访问其复杂的图形功能。 本教程将向您展示如何在FreeBSD上安装和配置SmokePing与Apache。先决条件
要遵循本教程,您需要:- 一个FreeBSD的11服务器以root用户。 在DigitalOcean,默认的FreeBSD用户的罚款。
第1步 - 使用FastCGI支持安装Apache
首先,我们将安装Apache Web服务器及其FastCGI模块,SmokePing使用它来为其Web界面提供电源。 首先,更新服务器的存储库信息。sudo pkg update
要使用支持FastCGI的Apache安装,你可以告诉
pkg
安装FastCGI模块。
pkg
将处理模块本身所需要的所有的依赖,所以它会自动安装Apache主软件包。
sudo pkg install ap24-mod_fcgid
按,确认安装
Y
。一旦安装了Apache,我们需要自定义它以使其工作。
第2步 - 配置Apache
有两个我们需要做出的Apache小的变化:在更新部分服务器信息httpd.conf
并启用FastCGI模块。 首先,打开
/usr/local/etc/apache24/httpd.conf
进行编辑。
sudo ee /usr/local/etc/apache24/httpd.conf
编辑下面的两个指令。设置
ServerAdmin
到您的电子邮件地址,并取消(通过删除前述
#
)和编辑
ServerName
到你的服务器的IP地址。
httpd.conf
. . .
# ServerAdmin: Your address, where problems with the server should be
# e-mailed. This address appears on some server-generated pages, such
# as error documents. e.g. admin@your-domain.com
#
ServerAdmin your_email_address
#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
ServerName your_server_ip
. . .
保存并关闭文件。 FastCGI不是默认模块,因此我们必须将其添加到Apache的配置中以加载它。加载模块,我们需要创建一个新的配置文件
/usr/local/etc/apache24/modules.d/
并添加模块的信息。 该模块README,在发现
/usr/local/etc/apache24/modules.d/README_modules.d
说,“如果名称以三个数字,然后是文件被自动包含
_
,并在结尾
.conf
”。 为了满足这一点,我们将创建一个名为
001_fcgid.conf
。
sudo ee /usr/local/etc/apache24/modules.d/001_fcgid.conf
将以下内容粘贴到文件中,这会告诉Apache加载模块以及在哪里找到它。
/usr/local/etc/apache24/modules.d/001_fcgid.conf
LoadModule fcgid_module libexec/apache24/mod_fcgid.so
保存并关闭文件。 现在Apache和FastCGI的设置,我们可以安装SmokePing本身。
第3步 - 安装和配置SmokePing
安装SmokePing很简单,因为它在包存储库中。sudo pkg install smokeping
SmokePing的配置是
/usr/local/etc/smokeping/config
默认情况下。您需要编辑此文件以自定义几个字段。
sudo ee /usr/local/etc/smokeping/config
你需要在
***一般编辑四个字段
***部分:
owner
,里面应该有你的名字contact
,这应该有自己的电子邮件地址imgurl
,应更新为使用您的服务器的IP地址cgiurl
,这也应该更新为使用您的服务器的IP地址
/ usr / local / etc / smokeping / config
*** General ***
owner = your_name
contact = your_email_address
mailhost = my.mail.host
. . .
imgcache = /usr/local/smokeping/htdocs/img
imgurl = http://your_server_ip/smokeping/img
datadir = /usr/local/var/smokeping
piddir = /usr/local/var/smokeping
cgiurl = http://your_server_ip/smokeping.fcgi
. . .
SmokePing支持主/从架构,以使用其术语。在本教程中,我们只在一台机器上设置SmokePing。因此,通过用作序一每一行注释掉
*** ***Minion的配置部分
#
。
/ usr / local / etc / smokeping / config
. . .
# *** Slaves ***
# secrets=/usr/local/etc/smokeping/smokeping_secrets
# +boomer
# display_name=boomer
# color=0000ff
#
# +slave2
# display_name=another
# color=00ff00
. . .
保持此文件打开,我们将在下一步中继续编辑它以设置SmokePing的目标。
第4步 - 定义目标
我们将添加到SmokePing的配置文件中的最后一件事是目标。套用SmokePing的解释, 目标是这标志着网络连接系统应监控的端点主机的分层列表。 每一个目标将指定什么样的 探头使用,而外部的ping命令融入SmokePing(如fping
)。 在本教程中,我们将建立一个监视你的服务器和两台FreeBSD之间的延迟的配置
pkg
镜子。我们将创建三个图:两个独立显示每个镜像服务器的延迟,另一个显示同时显示两个镜像服务器的延迟。 目标被配置在
*** ***目标 SmokePing的配置文件的部分。有很多变量可用于自定义目标,但在这里,我们将使用以下内容:
- 探头 :ping命令用来探测延迟。
- 菜单 :默认的菜单在GUI中显示。
- 标题 :相应SmokePing页面的标题。
- 注 :将出现在页面上的文本。
- 主持人 :IP地址或主机名端点。
**目标** / usr / local / etc / smokeping / config上的部分
. . .
*** Targets ***
probe = FPing
menu = Top
title = Network Latency Grapher
remark = Welcome to the SmokePing website of xxx Company. \
Here you will learn all about the latency of our network
然后,在现有默认设置下复制并粘贴以下配置。
**目标** / usr / local / etc / smokeping / config上的部分
. . .
*** Targets ***
probe = FPing
menu = Top
title = Network Latency Grapher
remark = Welcome to the SmokePing website of xxx Company. \
Here you will learn all about the latency of our network
+ targets
menu = Targets
title = Targets' Latency Probed with fping
++ pkgmir_nyi
menu = FreeBSD pkg Mirror (NYI)
title = FreeBSD pkg Mirror Hosted by New York Internet, USA
host = pkg0.nyi.freebsd.org
++ pkgmir_ydx
menu = FreeBSD pkg Mirror (YDX)
title = FreeBSD pkg Mirror Hosted by Yandex, Russia
host = pkg0.ydx.freebsd.org
让我们解释一下这是做什么的。 目标是分层的,这意味着您可以嵌套级别的目标以帮助组织。每个嵌套级别的目标将在SmokePing GUI中创建一个新的子菜单,显示不同的图形。 在我们的配置中,
+ targets
线意味着我们定义的目标嵌套的水平。 嵌套目标将其固有父配置的值,因此我们并不需要包括
probe = FPing
再次行,如果我们想这些目标使用相同的探头。 但是,我们更新了
title
和
menu
为新款变量,因此在网站上的网页都会有不同的标题和菜单。 该
++ pkgmir_ xxx
线意味着我们定义第二嵌套层次,其中包括两个目标。 这些都为端点的地址,这是我们两个的FreeBSD
主机变量
pkg
镜像服务器。 上述配置将为每个目标创建一个图形。在其下方,添加一个部分,将多个目标合并为一个图形。
**目标** / usr / local / etc / smokeping / config上的部分
. . .
++ pkgmir_ydx
menu = FreeBSD pkg Mirror (YDX)
title = FreeBSD pkg Mirror Hosted by Yandex, Russia
host = pkg0.ydx.freebsd.org
+ multi
menu = Multi Targets
title = Multi Targets
++ multi_pkgmir
menu = FreeBSD pkg Mirrors
title = FreeBSD pkg Mirrors
host = /targets/pkgmir_nyi /targets/pkgmir_ydx
请注意,这部分使用了我们已经配置了两个目标(
/targets/pkgmir_nyi
和
/targets/pkgmir_ydx
)。 最后,保存并关闭文件。 SmokePing的配置都设置好了,让我们连接Apache和SmokePing并启动相应的服务。
第5步 - 连接和启用服务
在创建Apache的配置文件/usr/local/etc/apache24/Includes/
称为
smokeping.conf
。
sudo ee /usr/local/etc/apache24/Includes/smokeping.conf
在这里,我们将添加Apache需要处理对SmokePing的Web界面的请求的信息。将以下内容复制并粘贴到新文件中:
/usr/local/etc/apache24/Includes/smokeping.conf
ScriptAlias /smokeping.fcgi /usr/local/smokeping/htdocs/smokeping.fcgi
Alias /smokeping /usr/local/smokeping/htdocs/
<Directory "/usr/local/smokeping/htdocs/">
AddHandler fcgid-script .fcgi
AllowOverride None
DirectoryIndex index.html smokeping.fcgi
Options FollowSymLinks ExecCGI
Require all granted
</Directory>
这告诉Apache在哪里找到SmokePing的文件,并确保它使用FastCGI。 Apache和SmokePing的默认服务配置不会在引导时启动进程。要改变它,请执行以下两个命令。
sudo sysrc apache24_enable="YES"
sudo sysrc smokeping_enable="YES"
上述两个命令的输出应如下所示:
Outputapache24_enable: -> YES
smokeping_enable: -> YES
现在,您可以启动Apache服务。
sudo service apache24 start
如果成功启动,您将看到:
OutputPerforming sanity check on apache24 configuration:
Syntax OK
Starting apache24.
如果没有,您将看到一个错误,您可以使用它来调试配置文件中的任何问题。最后,启动SmokePing服务。
sudo service smokeping start
OutputStarting smokeping.
Note: logging to syslog as local0/info.
Daemonizing /usr/local/bin/smokeping ...
一切正在运行,让我们看看我们的图表在行动。
第6步 - 访问SmokePing的Web界面
您可以通过访问访问SmokePing的Web界面http:// your_server_ip /smokeping
在你喜欢的浏览器。您将看到一个页面,其中包含您在第5步中指定的标题和注释。如果您没有更改任何值,它将如下所示:
您可以通过导航左侧的菜单查看您的图表。请注意,在菜单中的
目标和
多目标选择; 这些是我们所定义的目标
第5步 。 点击
目标 。您将看到我们定义的前两个图,每个镜像服务器一个。在左侧,您将看到嵌套的目标列表,这反映了我们的配置文件。
接下来,点击
多目标 。您将在此处看到组合图。
如果遇到问题,您可以检查日志以帮助诊断问题。Apache记录其日志中的两个文件:
/var/log/httpd-access.log
和
/var/log/httpd-error.log
。 SmokePing有一个日志文件,这是
/var/log/smokeping.log
。 请记住,如果你改变SmokePing的配置,你需要重装与守护
sudo service smokeping reload
。