Вступление
SmokePing - инструмент отслеживания латентности сети. Отслеживание задержек в сети вашего сервера может дать вам полезную картину общего состояния и доступности вашего сервера. Например, он может помочь вам определить, перегружена ли ваша сеть, или предупредить вас о потере пакетов, что может указывать на неправильную конфигурацию маршрутизатора или сбой устройства.
Создатель SpokePing, Тобиас Отикер, также создал утилиту регистрации данных и построения временных рядов под названием RDDtool. SmokePing использует RDDtool, поэтому у вас есть доступ к его сложным графическим возможностям.
Из этого туториала вы узнаете, как установить и настроить SmokePing с Apache на FreeBSD.
Предпосылки
Чтобы следовать этому уроку, вам понадобится:
-
Один сервер FreeBSD 11 с пользователем * root *. На DigitalOcean по умолчанию пользователь * freebsd * подходит.
Капле FreeBSD требуется ключ SSH для удаленного доступа. Для получения справки по настройке ключа SSH прочитайте Wow Configure SSH. Аутентификация на основе ключей на сервере FreeBSD. Чтобы узнать больше о входе в свою FreeBSD Droplet и базовом управлении, ознакомьтесь с серией учебников https://www.digitalocean.com/community/tutorial_series/getting-started-with-freebsd[Getting Started with FreeBSD.
Шаг 1 - Установка Apache с поддержкой FastCGI
Для начала мы установим веб-сервер Apache и его модуль FastCGI, который SmokePing использует для питания своего веб-интерфейса.
Сначала обновите информацию о хранилище вашего сервера.
sudo pkg update
Чтобы установить Apache с поддержкой FastCGI, вы можете просто указать + 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. [email protected]
#
ServerAdmin
#
# 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
. . .
Сохраните и закройте файл.
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
Вам нужно будет отредактировать четыре поля в разделе * General *:
-
+ владелец +
, который должен иметь ваше имя -
+ contact +
, который должен иметь ваш адрес электронной почты -
+ imgurl +
, который следует обновить, чтобы использовать IP-адрес вашего сервера -
+ cgiurl +
, который также должен быть обновлен для использования IP-адреса вашего сервера
Вот как будет выглядеть файл, когда вы закончите:
/ USR / местные / и т.д. / smokeping / конфигурации
*** General ***
owner =
contact =
mailhost = my.mail.host
. . .
imgcache = /usr/local/smokeping/htdocs/img
imgurl = http:///smokeping/img
datadir = /usr/local/var/smokeping
piddir = /usr/local/var/smokeping
cgiurl = http:///smokeping.fcgi
. . .
SmokePing имеет поддержку главной / подчиненной архитектуры, чтобы использовать их терминологию. В этом уроке мы настраиваем SmokePing только на одном компьютере. Следовательно, закомментируйте секцию * Slaves * конфигурации, предварительно обратив каждую строку с помощью + # +
.
/ USR / местные / и т.д. / smokeping / конфигурации
. . .
*** Slaves ***
secrets=/usr/local/etc/smokeping/smokeping_secrets
+boomer
display_name=boomer
color=0000ff
+slave2
display_name=another
color=00ff00
. . .
Оставьте этот файл открытым, так как мы продолжим редактировать его на следующем шаге, чтобы установить цели SmokePing.
Шаг 4 - Определение целей
Последнее, что мы добавим в файл конфигурации SmokePing - это цели. Перефразируя объяснение SmokePing, targets - это иерархический список хостов, которые отмечают конечные точки сетевых подключений, которые должна отслеживать система. Каждая цель будет указывать, какой probe использовать, который интегрирует внешнюю команду ping в SmokePing (например, http://fping.org/ [+ fping +
]).
В этом руководстве мы настроим конфигурацию, которая отслеживает задержку между вашим сервером и двумя зеркалами FreeBSD + pkg +
. Мы создадим три графика: два, которые показывают задержку для каждого из двух зеркальных серверов независимо, и один, который показывает задержку обоих зеркальных серверов одновременно.
Цели настраиваются в разделе * Targets * файла конфигурации SmokePing. Есть много переменных, которые вы можете использовать для настройки ваших целей, но здесь мы просто будем использовать следующее:
-
* probe *: команда ping, используемая для проверки задержки.
-
* menu *: меню по умолчанию для отображения в графическом интерфейсе.
-
* title *: заголовок соответствующей страницы 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
Давайте объясним, что это делает.
Цели являются иерархическими, то есть вы можете вкладывать уровни целей, чтобы помочь с организацией. Каждый вложенный уровень целей будет создавать новое подменю в графическом интерфейсе SmokePing, отображающее различные графики.
В нашей конфигурации строка + означает, что мы определяем вложенный уровень целей. Вложенным целям будут присваиваться значения их родительской конфигурации, поэтому нам не нужно снова добавлять строку + probe = FPing +
, если мы хотим, чтобы эти цели использовали один и тот же зонд. Однако мы обновили переменные + title +
и + menu +
для нового подраздела, поэтому страница на сайте будет иметь другой заголовок и меню.
Строки +++ pkgmir_ +
означают, что мы определяем второй вложенный уровень, который включает в себя две цели. У них есть переменная * host * для адреса конечной точки, которая является двумя нашими зеркальными серверами 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
Обратите внимание, что в этом разделе используются две цели, которые мы уже настроили (+ / target / pkgmir_nyi +
и + / target / 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. Скопируйте и вставьте следующее в новый файл:
/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
Вы можете получить доступ к веб-интерфейсу SmokePing, посетив + http: /// smokeping +
в вашем любимом браузере. Вы увидите страницу с заголовком и примечанием, указанными в шаге 5. Если вы не изменили ни одно из значений, это будет выглядеть так:
изображение: https: //assets.digitalocean.com/articles/smokeping/GVyPSgX.png [домашняя страница SmokePing]
Вы можете увидеть свои графики, перемещаясь по меню слева. Обратите внимание на опции * Targets * и * Multi Targets * в меню; это те цели, которые мы определили в https://www.digitalocean.com/community/tutorials/how-to-track-network-latency-with-smokeping-on-freebsd-11#step-5-%E2%80% 94-подключение-и-включение-услуги [Шаг 5].
Нажмите на * Цели *. Вы увидите первые два графика, которые мы определили, по одному для каждого зеркального сервера. Слева вы увидите вложенный список целей, который отражает наш файл конфигурации.
изображение: https: //assets.digitalocean.com/articles/smokeping/x4HUZdh.png [Целевые графики SmokePing]
Далее нажмите на * Multi Targets *. Вы увидите комбинированный график здесь.
изображение: https: //assets.digitalocean.com/articles/smokeping/J46es5e.png [Многоцелевой график SmokePing]
Если у вас возникли проблемы, вы можете проверить журналы для помощи в диагностике проблемы. Apache записывает свои журналы в два файла: + / var / log / httpd-access.log +
и + / var / log / httpd-error.log +
. SmokePing имеет один файл журнала, который называется + / var / log / smokeping.log +
. Помните, что если вы измените конфигурацию SmokePing, вам необходимо перезагрузить демон с помощью + sudo service smokeping reload +
.
Заключение
В этом руководстве вы настроили SmokePing с Apache и создали несколько примеров зондов для тестирования журналирования и построения графиков. Отсюда вы можете настроить свои зонды и графики так, как вам нравится. SmokePing имеет много других функций, таких как ведомые устройства, оповещения и поддержка вашего собственного почтового сервера. Ознакомьтесь с SmokePing официальной документацией для получения более подробной информации.