Smokeping ubuntu установка и настройка
Обновлено: 07.07.2024
SmokePing – утилита построения графиков сетевой активности, немного похожая на Mumin. Как и у Mumin, архитектура у нее модульная, что позволяет расширить ее набор измерений до огромного. Как и Mumin, она предоставляет результаты в виде web-контента, и чтобы доставить его в браузер, нужен web-сервер. И, как и Mumin, для генерации графиков она использует RRDTool, утилиту Тоби Этикера [Tobi Oetiker]. Но если Mumin измеряет загрузку и производительность компьютера, то SmokePing – сетевую активность.
SmokePing состоит из демона, выполняющего измерения, и CGI-скрипта, который выдает графики. В отличие от Mumin, на компьютеры не нужно устанавливать никаких дополнительных программ-агентов.
В моем Ubuntu SmokePing заработала сразу, хотя по умолчанию она измеряет только задержки пинга к localhost, а это не увлекательнее, чем наблюдение за подъемом опары теста. Настройка SmokePing заключается в определении Тестов [Probes] – утилит, измеряющих задержки, Целей [Targets] – проверяемых компьютеров, и Предупреждений [Alerts] – условий, при которых вы будете предупреждены об аномальном поведении. По ходу, мы увидим, что структура файла config определяет меню, появляющееся на сайте SmokePing.
Рассмотрим пример. Файл настройки верхнего уровня – /etc/smokeping/config. В Ubuntu он содержит лишь несколько директив @include, подключающих файлы из /etc/smokeping/config.d – тогда определения тестов, целей и предупреждений остаются независимыми друг от друга. В Fedora все соединяется вместе в одном файле верхнего уровня. Найдите файл /etc/smokeping/config.d/Probes, где заданы тесты. Он есть в каталоге /Magazine/SysAdmin_Code нашего DVD.
Тестируем
На этом графике показано время прохождения запроса для корневых DNS-серверов в течение года.
Завершив настройку, перезапустите SmokePing и ступайте почитать Linux Format несколько часов, пока копится необходимый объем данных:
Архитектура модулей расширения SmokePing позволяет писать тесты как объектно-ориентированные модули Perl и загружать по требованию. Они хранятся в каталоге /usr/share/smokeping/lib/Smokeping/probes. Некоторые тесты основаны на echoping, разносторонней утилитке для измерения времени прохождения запроса туда и обратно для различных протоколов.
Узнать мнение других
Развернув «ведомые» экземпляры SmokePing удаленно можно измерить производительность сети и сервисов с разных компьютеров.
Можно запустить несколько экземпляров SmokePing в режиме «ведущий–ведомый» – в частности, для измерения задержек web-сервера с различных узлов сети. Например, измерение задержек web-сервера TuxRadar с другого компьютера могло бы сказать нам, вызвано ли замедление передачи состоянием сервера или локальной сети. «Ведомые» – обычные экземпляры SmokePing, но они получают свои параметры от «ведущего», а не из локального файла настройки. «Ведомые» общаются с «ведущим» через обычный web-интерфейс SmokePing, но подписывают сообщения, предоставляя код аутентификации сообщения на основе MD5, формируемый по сообщению и известному им секретному ключу.
«Ведомые» передают «ведущему» свои результаты после каждого теста. Для настройки такой конфигурации установите SmokePing на «ведомые» компьютеры с добавочными аргументами командной строки, задающими URL «ведущего» и расположение секретного ключа. Своего файла настройки у «ведомых» нет.
Если подходящего теста, который делает то, что вам нужно, нет, можно написать собственный. Как это делается, описано на странице man smokeping_extend; там есть базовый класс Smokeping::probes::basefork, который можно принять за основу, и структурный файл (skel.pm), с которого можно начать.
SmokePing умеет отправлять предупреждения (по почте или через другую программу на ваш выбор), чтобы известить вас о возможных проблемах. Для настройки предупреждений создаются «детекторы шаблона» – они следят за изменениями времени прохождения пакета или запроса туда и обратно или за потерей пакетов для заданного теста. Детекторы шаблона не просто срабатывают при первом же нарушении – они позволяют вам рассмотреть несколько случаев и квалифицированно решить, какие предупреждения отправить и стоит ли вообще это делать. Вот определение предупреждений из Ubuntu. Номера строк указаны только для ссылок, в файле их нет.
Строка 2 определяет, как доставлять предупреждения. Здесь можно указать адрес электронной почты или имя программы, запускаемой при возникновении предупреждения. Строки 5–8 задают шаблон предупреждения под именем bigloss. Шаблон в строке 8 указывает долю потери пакетов в процентах, которая должна иметь место (в данном случае) при семи последовательных измерениях. (Установка параметра step в 300 с означает, конечно, что предупреждение не появится, пока пакеты не будут выглядеть потерянными 15 минут и более.)
Когда предупреждать
Строки 11–15 определяют предупреждение someloss. В строке 14 обозначение *12* в детекторе шаблона означает «игнорировать до 12 значений и все еще признавать соответствие шаблону». Таким образом (опять же, предполагая, что step установлен в 300 с), предупреждение возникнет, если потеря пакетов наблюдается три раза, но между ними может быть до двух интервалов длительностью до часа (12 × 300 c), в течение которых потери не происходит. В худшем случае на срабатывание этого детектора уйдет 2 часа 15 минут.
Так как детекторы обычно реагируют на изменения состояний, они не смогут обнаружить их, если уже существовали на момент запуска SmokePing. Чтобы избежать таких ошибок, используется ==S (см. строку 20), что означает «с момента запуска»; здесь предупреждение запустится, если потеря пакетов наблюдалась три раза подряд сразу после запуска SmokePing.
Нам осталось упомянуть о последнем элементе настройки SmokePing: в разделе ***Presentation*** можно выбрать отображаемые графики и их внешний вид.
SmokePing – средство отслеживания латентности сети. Отслеживание латентности сервера может предоставить картину общего состояния и доступности вашего сервера. Например, это может помочь вам определить, перегружена ли сеть или предупредит вас о потере пакетов, что может указывать на неправильную конфигурацию маршрутизатора или отказавшее устройство.
Создатель SmokePing также разработал утилиту для регистрации данных и временных графов RDDtool. SmokePing использует RDDtool, поэтому у вас будет доступ к его продвинутым функциям.
В этом учебнике рассказывается, как установить и настроить SmokePing на Apache в FreeBSD.
Требования
- Сервер FreeBSD 11 с пользователем root (в руководстве он называется freebsd). Больше информации по базовой настройке и управлению сервером вы найдете в мануале Начало работы с FreeBSD 10.1.
- Серверу FreeBSD необходим ключ SSH. Чтобы создать такой ключ, обратитесь к мануалу Настройка беспарольной аутентификации по SSH на сервере FreeBSD.
1: Установка Apache с поддержкой FastCGI
Для начала нужно установить веб-сервер Apache и модуль FastCGI, с помощью которого работает веб-интерфейс SmokePing.
Обновите индекс пакетов:
sudo pkg update
Чтобы установить Apache с поддержкой FastCGI, вы можете просто указать в команде установки pkg только модуль. Команда pkg будет обрабатывать все зависимости, необходимые модулю, поэтому она также автоматически установит основной пакет Apache.
sudo pkg install ap24-mod_fcgid
Чтобы подтвердить установку, нажмите Y.
2: Настройка Apache
Сохраните и закройте файл.
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
Вставьте в файл такие строки:
LoadModule fcgid_module libexec/apache24/mod_fcgid.so
Это запустит модуль и укажет путь к нему.
3: Установка и настройка SmokePing
Пакет SmokePing есть в репозитории системы, потому его легко установить.
sudo pkg install smokeping
Конфигурационный файл SmokePing находится в /usr/local/etc/smokeping/config. В нем нужно изменить пару параметров:
sudo ee /usr/local/etc/smokeping/config
В разделе ***General*** нужно отредактировать 4 строки:
- owner: здесь нужно указать ваше имя.
- contact: ваш адрес электронной почты.
- imgurl: IP-адрес сервера.
- cgiurl: тоже IP-адрес сервера.
Так файл будет выглядеть в результате:
Пока что не закрывайте файл.
4: Настройка целей SmokePing
В этом мануале представлена конфигурация, которая отслеживает латентность между вашим сервером и двумя pkg-зеркалами FreeBSD. Для этого нужно создать три графика: два будут отображать латентность каждого зеркала независимо друг от друга, а третий – латентность обоих зеркальных серверов одновременно.
Цели настраиваются в разделе *** Targets *** конфигурационного файла SmokePing. Существует множество переменных, которые можно использовать для настройки целей. В мануале используются такие:
- probe: команда ping для проверки латентности.
- menu: меню GUI по умолчанию.
- title: заголовок соответствующей страницы SmokePing.
- remark: текст, который будет отображаться на этой странице.
- host: IP-адрес или имя хоста конечной точки.
Сначала нужно удалить из файла образец конфигурации целей. Теперь файл будет заканчиваться так:
. . .
*** 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, показывающее разные графики.
Строка + targets определяет уровень вложенности. Вложенные цели будут наследовать значения родительских уровней, поэтому вам не нужно постоянно указывать строку probe = FPing, если вы хотите, чтобы эти цели использовали одно и то же значение probe. Значения title и menu вложенных целей нужно обновить, чтобы страница на сайте имела другой заголовок и меню.
Строки ++ pkgmir_xxx определяют второй вложенный уровень, который включает две цели. Здесь переменная host определяет адрес конечных точек – зеркал pkg.
Предыдущая конфигурация создаст отдельные графики для целей. После нее вам нужно вставить еще один раздел для создания общего графика:
Обратите внимание: в этом разделе используются две цели, которые вы уже настроили (/targets/pkgmir_nyi и /targets/pkgmir_ydx).
Сохраните и закройте файл. Теперь можно настроить взаимодействие Apache и SmokePing и запустить все требуемые сервисы.
5: Включение сервисов
Создайте конфигурационный файл Apache в /usr/local/etc/apache24/Includes/ по имени smokeping.conf
sudo ee /usr/local/etc/apache24/Includes/smokeping.conf
В нем нужно указать информацию, необходимую Apache для обработки запросов на веб-интерфейс SmokePing. Скопируйте и вставьте следующее в новый файл:
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 по умолчанию не запускает процессы при загрузке. Чтобы изменить это, выполните следующие две команды.
apache24_enable: -> YES
smokeping_enable: -> YES
Теперь можно запустить Apache:
sudo service apache24 start
Performing sanity check on apache24 configuration:
Syntax OK
Starting apache24.
sudo service smokeping start
Starting smokeping.
Note: logging to syslog as local0/info.
Daemonizing /usr/local/bin/smokeping .
Теперь нужно проверить графики.
6: Веб-интерфейс SmokePing
Вы можете получить доступ к веб-интерфейсу SmokePing в браузере по ссылке:
Вы увидите страницу с заголовком и примечанием, указанным в разделе 5. Например:
Network Latency Grapher
Welcome to the SmokePing website of xxx Company. Here you will learn all about the latency of our network.
Вы можете просмотреть графики с помощью меню слева. Обратите внимание на параметры Targets и Multi Targets; это цели, которые вы определили в разделе 5.
Нажмите Targets. Вы увидите два индивидуальных графика для каждого зеркала. Слева вы увидите вложенный список целей, который отражает ваши конфигурации.
Затем выберите Multi Targets. Вы увидите общий график.
sudo service smokeping reload
Заключение
Вы успешно настроили SmokePing на Apache и создали пару пробных целей для проверки графиков и логирования. Теперь вы можете создать более тонкую настройку и отслеживать все необходимые цели. SmokePing имеет множество других функций: это поддержка ведомых устройств, оповещения, поддержка собственного почтового сервера и многое другое. Более подробную информацию вы найдете в официальной документации SmokePing.
[Smokeping] мониторинг производительности сети, оценка сети компьютерного зала
Для получения дополнительных сведений нажмитемой блог Просмотр, добро пожаловать в гости.
При выборе компьютерного зала вам необходимо знать сетевой статус компьютерного зала, и вам необходимо использовать программное обеспечение для мониторинга сети Smoping.
Smokeping написан на Perl, а нижний уровень зависит от rrdtool и fping.
В основном отслеживайте производительность сети, в том числе регулярную. ping , используйте echoping Мониторинг производительности www-сервера, мониторинг производительности DNS-запросов, мониторинг производительности ssh и т. Д. Нижний уровень поддерживается rrdtool, и рисунок используется для представления потери и задержки сетевых пакетов.
По задержке и потере пакетов на диаграмме мониторинга вы можете определить, стабильна ли сеть вашего компьютерного зала, является ли она многолинейной, является ли это компьютерным залом BGP, до сети между тремя операторами в каждом городе, какова ситуация, если возникнет Как целенаправленно решить проблему. А если вы выберете новый компьютерный зал, то по результатам мониторинга копчения можно будет судить, подходит ли компьютерный зал.
Smokeping требует нормальной работы всей системы: программного обеспечения веб-сервера, основной службы Smokeping, зондов и rrdtool.
программное обеспечение веб-сервера
Smokeping имеет интуитивно понятный, эффективный и красивый веб-интерфейс, поэтому он должен полагаться на сторонние веб-службы, по умолчанию используется служба apache, а модуль cgi должен быть включен.
основная служба копчения
Основная служба дыма - это рабочий процесс дыма, который отвечает за выполнение задач мониторинга в фоновом режиме (или на переднем плане).
Фактическим инструментом мониторинга, используемым при копчении, является зонд. Зонд по умолчанию - fping, общие зонды, такие как:
- fping Зонд по умолчанию, использующий протокол icmp, может одновременно определять целевое значение RTT (время приема-передачи).
- echoping Обнаружение эхо-службы с использованием протокола tcp / udp, номер порта по умолчанию 7
- tcpping Обнаружение порта tcp с использованием протокола tcp для мониторинга подключения и задержки порта
Дополнительную информацию о датчике см. В официальной документации.
rrdtool
rrdtool (Round Robin Database Tool) - это инструмент для работы с базами данных с циклическим перебором, написанный на языке C. Это мощный механизм рисования, который имеет как базу данных временных рядов, так и функции рисования. rrdtool используется многими платформами мониторинга, такими как копчение, кактусы, сокол и т. д.
Smokeping должен полагаться на другие инструменты и службы в системе в дополнение к компонентам Perl, работающим в Unix.
Установка пакета в зависимости от среды
RRDtool 1.2.x or later
Smokeping использует RRDtool для записи и рисования. Если linux предоставляет пакет rrdtool с поддержкой perl, вы можете его использовать. Если нет или установите новую версию
FPing (необязательно)
EchoPing (необязательно)
Webserver
Важно иметь веб-сервер, позволяющий запускать CGI, предпочтительно сценарии FastCGI. Если вы используете Apache, настоятельно рекомендуется использовать систему suexec для запуска сценариев CGI от имени конкретного пользователя.
Perl 5.10.1 or later
Начать установку копчения
Установленная версия - smoping-2.7.3, последняя на 16 ноября 2019 г.
Появляется указанная выше ошибка, указывающая, что она не указана. PERL5LIB , Будет добавлено ниже
Инициализировать копчение
Создать папку
Необходимо создать три папки, data Используется для хранения файлов rrd, var Используется для хранения дыма, /var/log Используется для хранения smokeping.log
Скопировать файл конфигурации
Измените файл конфигурации
Поддержка рисования для отображения китайского
Начать курить вручную
Далее запускаем вручную
Напишите файл автозапуска копчения
Измените файл конфигурации Apache
Настроить цели мониторинга
Измените файл конфигурации и закомментируйте его позже Test Абзац, добавьте свой узел
Обратите внимание, что в host Необходимо указать каждую группу информации об узлах в host = / первый уровень / второй уровень / третий уровень , В противном случае браузер сообщит об ошибке при доступе к указанному имени. После добавления узла мониторинга необходимо перезапустить службу дыма.
Но было сообщено об ошибке, но это в журнале WARNING Не влияет на нормальную работу копчения.
Закрыть Selinux
В основном при доступе к странице будет указано, что создание каталога не удалось, то есть нет разрешения.
РешениеЗакрыть Selinux
Мед проблема, копчение наконец создает каталог нормально, и рисунок тоже нормальный
Зеленая линия показывает положение среднего значения. Остальные значения, возвращаемые детектированием за период, отображаются в оттенках серого рядом с медианным значением. Чем меньше диапазон оттенков серого, тем меньше дрожание в этот период. Степень также имеет оттенок, более темный цвет, что указывает на то, что значение RTT относительно сконцентрировано в этом диапазоне, а серая область окутана дымом около среднего значения, что соответствует названию дымления.
Описание файла конфигурации Smokeping
Базовая информация о конфигурации
Правила сигнализации
По умолчанию принят метод тревоги sendmail, to Получатель, from Отправитель. someloss Это предопределенный детектор по умолчанию. Детектор - это не только порог, он может определять набор изменений RTT от старого к новому, pattern Значение начинается с оператора и изменяется со старого на новое. В этом примере >0% Указывает на потерю пакетов, *12* Это означает, что максимальное количество совпадающих 12 значений игнорируется в группе, поэтому смысл этого определения таков: соответствует ли соответствующая группа данных количеству потерь пакетов, больше или равно 3 раз.
база данных
Опишите свойства базы данных rrd.
Изменение файла конфигурации базы данных не может повлиять на существующий rrd. После изменения файла конфигурации базы данных вам необходимо очистить существующий кеш rrd, чтобы программа работала нормально. Каталог rrd по умолчанию: /opt/smokeping/data/ , Это каталог данных, настроенный вами. step Представляет основной рабочий интервал, то есть интервал, в течение которого дымление обнаруживает целевой хост. По умолчанию - 300 секунд. pings Указывает количество пакетов зондирования, отправленных в действии зондирования, step с участием pings Значения могут быть охвачены последующими настройками датчика. Эта конфигурация также содержит правила для архивирования и слияния базы данных, всего 4 столбца: метод слияния, допустимое отношение неизвестных значений, шаг и общее количество строк. Каждая строка представляет собой правило хранения RRA (циклического архива) и несколько предварительно определенных AVERAGE 、 MIN , MAX правило. В качестве примера возьмем СРЕДНЕЕ, первое СРЕДНЕЕ, шаг равен 1, количество строк - 1008, по умолчанию шаг = 300, это означает одну за 5 минут, максимум - 1008, и всего 3,5 дня данных. Это нарисовано с такой точностью Максимальный временной диапазон, если он превышает диапазон, он будет продолжать соответствовать соответствующему RRA, например второму СРЕДНЕМУ, диапазон времени хранения составляет 180 дней, но точность составляет 1 час.
Определить правила отображения
template - это шаблон веб-страницы, используемый webUI, указывающий на /opt/smokeping/etc/basepage.html , Шаблон содержит различные ключевые слова формы. charset - кодировка документа, по умолчанию используется UTF-8
Настроить модуль датчика
Smokeping поддерживает множество модулей датчиков, чаще всего используется встроенный fping.
Конфигурация ведущий-ведомый
При использовании структуры master-slave требуется файл проверки, то есть значение, указанное в секретах. По умолчанию /opt/smokeping/etc/smokeping_secrets , Для каждого подчиненного узла также необходимо указать отображаемое имя display_name , Цвет отображения цвета (этот цвет относится к цвету линии на обзорной диаграмме, а не к детальной диаграмме), цветовой код принимает форму RRGGBB.
Определите параметры объекта мониторинга
Target - это основная часть конфигурации для построения snokeping. menu Название меню, определяющее запись, title Название заголовка записи определяется, host Определяет имя целевого хоста, alerts Определяет используемый сигнал тревоги, probe Определяет используемый зонд, slaves Определяет список подчиненных серверов, которые необходимо использовать. Точно так же параметры дочерней записи унаследуют родительскую запись и также могут быть перезаписаны.
Независимый мониторинг целевых файлов
Контролируемые узлы можно разделить, а затем использовать @include xxx Просто укажите этот файл. Другими словами, нет необходимости добавлять конфигурацию IP для мониторинга в файл конфигурации, и она может быть напрямую независимой.
Читайте также: