Вступление
Munin - это приложение для мониторинга системы, сети и инфраструктуры, которое предоставляет информацию в виде графиков через веб-браузер. Он разработан на основе клиент-серверной архитектуры и может быть настроен на мониторинг компьютера, на котором он установлен (Munin master), и любого количества клиентских компьютеров, которые, на языке Munin, называются Munin node.
В этой статье мы установим и настроим Munin для мониторинга сервера, на котором он установлен, и одного узла. Чтобы установить Munin на нескольких узлах, просто следуйте инструкциям по созданию узла в каждой системе.
Предпосылки
-
Две капли Debian 8.1
-
Для каждой капли - пользователь без полномочий root с правами sudo
Если не указано иное, все команды в этом руководстве должны выполняться от имени пользователя без полномочий root с привилегиями sudo. Чтобы узнать, как создавать пользователей и предоставлять им привилегии sudo, ознакомьтесь с Initial Server Setup с Debian 8.
Шаг 1 - Установка необходимых пакетов
Мы начнем работать над мастером Munin в первую очередь. Перед установкой Munin необходимо установить несколько зависимостей.
Хотя Munin может работать с большинством популярных веб-серверов, таких как Nginx и Lighttpd, по умолчанию он предназначен для работы с веб-сервером Apache. Поэтому убедитесь, что Apache установлен и настроен на главном компьютере Munin. Если он еще не установлен, сделайте это с помощью:
sudo apt-get update
sudo apt-get install -y apache2
-
Чтобы убедиться, что функциональность dynazoom, отвечающая за масштабирование сгенерированных графиков, работает правильно при нажатии, установите следующее:
sudo apt-get install -y libcgi-fast-perl libapache2-mod-fcgid
После установки этих двух пакетов модуль + fcgid +
должен быть включен. Чтобы перепроверить, введите:
/usr/sbin/apachectl -M | grep -i cgi
Выход должен быть:
fcgid_module (shared)
Если вывод пуст, то он не включен. Затем вы можете включить его, используя:
sudo a2enmod fcgid
При выполнении команды + apachectl +
вы можете игнорировать следующее предупреждение:
Could not reliably determine the server's fully qualified domain name ...
Apache все еще будет работать с Munin с этим предупреждением.
Остальная часть конфигурации, которая будет правильно выполнять масштабирование графика, будет описана в шаге 3.
Шаг 2 - Установка Munin на Munin Master
Установочные пакеты для Munin доступны в репозитории Debian, поэтому их можно установить с помощью менеджера пакетов дистрибутива. На этом этапе вы установите мастер-пакет Munin из стабильной ветки. Версия в репозитории Debian, Munin 2.0.25, совпадает с последней стабильной версией.
Чтобы установить его, введите:
sudo apt-get install -y munin
Шаг 3 - Настройка Munin Master
Основной файл конфигурации мастера Munin + munin.conf +
и другие файлы, необходимые для его работы, можно найти в каталоге + / etc / munin +
и его подкаталогах.
Файл конфигурации состоит как минимум из двух разделов - * global * и хотя бы из одного * host * раздела. При желании может быть раздел * group *. Разделы хоста и группы начинаются с соответствующих имен в квадратных скобках. Этот файл содержит определения переменных, директивы, которые определяют, как Munin контролирует серверы и службы, а также какие серверы следует отслеживать.
Чтобы начать его изменение:
cd /etc/munin
sudo nano munin.conf
Ищите эти строки и раскомментируйте их. То есть удалите знак * # *, который предшествует им. * Dbdir * хранит все rrd-файлы, содержащие фактическую информацию мониторинга; * htmldir * хранит изображения и файлы сайта; * logdir * поддерживает журналы; * rundir * содержит файлы состояния; и * tmpldir * - расположение шаблонов HTML. Обязательно измените htmldir из + / var / cache / munin / www +
в ваш веб-каталог. В этом примере мы будем использовать + / var / www / munin +
:
/etc/munin/munin.conf
dbdir /var/lib/munin
htmldir
logdir /var/log/munin
rundir /var/run/munin
...
tmpldir /etc/munin/templates
Поскольку + htmldir +
не существует, давайте создадим и chown, чтобы он принадлежал системному пользователю + munin +
:
sudo mkdir /var/www/munin
sudo chown munin:munin /var/www/munin
Наконец, ищите первое дерево хостов в + munin.conf +
. Следует читать:
/etc/munin/munin.conf
[localhost.localdomain]
address 127.0.0.1
use_node_name yes
Измените имя этого дерева на то, которое однозначно идентифицирует сервер. В этом примере мы будем использовать * MuninMaster *:
/etc/munin/munin.conf
[]
address 127.0.0.1
use_node_name yes
Это все для файла конфигурации, поэтому сохраните и закройте его.
В том же каталоге + / etc / munin +
следующий файл, который мы будем изменять, - это + apache24.conf , который является файлом конфигурации Apache 2.4 для Munin. Он связан с ` / etc / apache2 / conf-available / munin.conf `. Чтобы начать его изменение, откройте его с помощью ` nano +`:
sudo nano apache24.conf
В самом верху файла измените первую строку, чтобы она отражала путь * htmldir *, который вы указали в + munin.conf +
и создали ранее. Исходя из пути к каталогу, использованного в этой статье, он должен выглядеть следующим образом, поэтому вы можете получить доступ к веб-интерфейсу Munin, добавив * munin * к IP-адресу сервера или домену, размещенному на сервере:
/etc/munin/apache24.conf
Alias /munin
Чтобы обеспечить удаленный доступ к веб-интерфейсу Munin, удалите раздел каталога и замените его следующим:
/etc/munin/apache24.conf
<Directory /var/www/munin>
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
</Directory>
Сделайте то же самое с последним разделом местоположения. Удалите строку + Require local +
и замените ее следующим:
/etc/munin/apache24.conf
<Location /munin-cgi/munin-cgi-graph>
...
</Location>
Сохраните и закройте файл. Затем перезапустите Munin и Apache:
sudo systemctl restart munin-node
sudo systemctl restart apache2
Теперь вы можете получить доступ к веб-интерфейсу Munin, указав свой веб-браузер на / munin
Шаг 4 - Добавление узла в Munin Master
На этом шаге мы покажем, как добавить узел к мастеру Munin. Это включает в себя изменение файла конфигурации мастера Munin, чтобы указать дерево хостов для узла, установку пакета узла Munin на узле и изменение его файла конфигурации, чтобы он мог контролироваться мастером Munin.
Давайте начнем с узла Munin - другой созданной вами капли Debian 8.
Войдите в узел * Munin *, обновите базу данных пакета и установите пакет узла Munin:
sudo apt-get update
sudo apt-get install -y munin-node
После успешного завершения установки конфигурация узла должна находиться в каталоге + / etc / munin +
. Откройте его с помощью + nano +
:
sudo nano /etc/munin/munin-node.conf
В середине файла найдите строку * allow ^ 127.0.0.1 $ * и измените ее так, чтобы она отражала IP-адрес мастера Munin. Обратите внимание, что IP-адрес представлен в формате регулярных выражений, поэтому при условии, что IP-адрес главного сервера равен 123.46.78.100, строка должна выглядеть следующим образом:
/etc/munin/munin-node.conf
allow
Сохраните и закройте файл. Затем перезапустите Munin:
sudo systemctl restart munin-node
Вернитесь на * Munin master *, откройте основной файл конфигурации:
sudo nano /etc/munin/munin.conf
Все, что нам нужно сделать в этом файле, это вставить дерево хостов для (удаленного) узла. Самый простой подход к этому - скопировать и изменить дерево хостов мастера. Обязательно замените IP-адресом узла, который вы добавляете:
[]
address
use_node_name yes
Сохраните и закройте файл. Затем перезапустите Apache:
sudo systemctl restart apache2
Мунин проверяет наличие новых узлов каждые 5 минут. Подождите несколько минут, затем перезагрузите веб-интерфейс мастера Munin. Вы должны увидеть запись для узла. Если вы еще этого не видели, повторите попытку через 5 минут. Используя этот метод, вы можете добавить столько узлов, сколько вам нужно для мониторинга.
изображение: https: //assets.digitalocean.com/articles/munin_install/MuninNode2.png [добавлен узел Munin]
Шаг 5 - Включение дополнительных плагинов
Munin контролирует систему, используя скрипты плагинов, и по умолчанию около десятка наборов плагинов установлены и активны. Полный список доступных плагинов находится в каталоге + / usr / share / munin / plugins +
. Чтобы увидеть, какие плагины можно использовать в вашей системе, Munin предоставляет следующую команду:
sudo munin-node-configure --suggest
Вывод должен быть такого рода:
Plugin | Used | Suggestions
------ | ---- | -----------
cps_ | no | no
cpu | yes | yes
cpuspeed | no | no [missing /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state]
cupsys_pages | no | no [could not find logdir]
df | yes | yes
df_inode | yes | yes
fail2ban | no | yes
ip_ | no | yes
Плагин с * yes * в столбце Used означает только то, что он указывает, а плагин с * yes * в столбце Suggestions означает, что его можно использовать. Один с * no * в обоих столбцах означает, что он не используется и не может использоваться в системе. Наконец, если плагин имеет * no * в столбце Used и * yes * в Suggestions, то он не используется, но может быть включен и использован в системе.
На главном узле Munin вы также можете увидеть список установленных плагинов в каталоге + / etc / munin / plugins +
.
Пакет + munin-plugins-extra +
должен быть установлен при установке Munin. Если это не так, сделайте это, используя.
sudo apt-get install munin-plugins-extra
Чтобы включить доступный плагин, который в данный момент не используется, создайте для него символическую ссылку из каталога + / usr / share / munin / plugins +
в каталог + / etc / munin / plugin +
.
Например, чтобы включить плагин Fail2ban, сначала установите Fail2ban:
sudo apt-get install fail2ban
Затем создайте символическую ссылку, которая включает плагин Munin:
sudo ln -s /usr/share/munin/plugins/fail2ban /etc/munin/plugins
Перезапустите Munin:
sudo systemctl restart munin-node
Подождите несколько минут, перезагрузите веб-интерфейс, и вы увидите графики для Fail2ban под заголовком * Хосты, занесенные в черный список fail2ban * в категории * network * для мастера Munin.
Поиск проблемы
Если у вас возникли проблемы с настройкой мастера Munin, узла Munin или при обращении мастера к узлу, проверьте файлы журнала на наличие сообщений об ошибках:
-
Мастер Munin:
+ / var / log / munin / munin-update.log +
-
Узел Munin:
+ / var / log / munin / munin-node.log +
Вы также можете проверить http://munin-monitoring.org/wiki/MuninTrou устранение неполадок на странице[project] для получения дополнительных советов по устранению неполадок.
Заключение
Munin можно настроить для мониторинга системы, на которой он установлен. Чтобы добавить удаленные серверы в отслеживаемую систему, достаточно просто установить пакет «+ munin-node +» на удаленном сервере (или узле), а затем изменить файлы конфигурации сервера и узла, указав другой IP-адрес.
Munin работает с использованием плагинов, но не все включены из коробки. Информация о плагинах доступна на странице project.