Вступление
Munin - это приложение для мониторинга системы, сети и инфраструктуры, которое предоставляет информацию в виде графиков через веб-браузер. Он разработан на основе клиент-серверной архитектуры и может быть настроен на мониторинг компьютера, на котором он установлен (Munin master), и любого количества клиентских компьютеров, которые, на языке Munin, называются Munin node.
В этой статье мы установим и настроим Munin для мониторинга сервера, на котором он установлен, и одного узла. Чтобы установить Munin на нескольких узлах, просто следуйте инструкциям по созданию узла в каждой системе.
Предпосылки
-
Две капли Ubuntu 14.04. Один из серверов будет мастером Munin. Другим будет узел Мунина.
-
Для каждой капли - пользователь без полномочий root с правами sudo
Все команды в этом руководстве должны выполняться от имени пользователя без полномочий root. Если для этой команды требуется root-доступ, ему будет предшествовать + sudo +
. Initial Server Setup с Ubuntu 14.04 объясняет, как добавлять пользователей и предоставлять им доступ sudo.
Шаг 1 - Установка необходимых пакетов
Мы начнем работать над мастером Munin в первую очередь. Перед установкой Munin необходимо установить несколько зависимостей.
Хотя Munin может работать с большинством популярных веб-серверов, таких как Nginx и Lighttpd, по умолчанию он предназначен для работы с веб-сервером Apache. Поэтому убедитесь, что Apache установлен и настроен на главном компьютере Munin. Если он еще не установлен, сделайте это с помощью:
sudo apt-get update
sudo apt-get install -y apache2 apache2-utils
Чтобы убедиться, что функциональность 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 доступны в официальном репозитории Ubuntu, поэтому их можно установить с помощью менеджера пакетов дистрибутива. На этом этапе вы установите основной пакет Munin. Версия в репозитории является последней стабильной версией.
Чтобы установить его для мониторинга сервера, на котором он установлен, введите:
sudo apt-get install -y munin
Шаг 3 - Настройка Munin Master
Основной конфигурационный файл Munin + munin.conf +
и другие файлы, необходимые для его работы, находятся в каталоге + + etc / munin + и его подкаталогах. На этом шаге мы изменим основной файл конфигурации для мастера Munin и его конфигурацию Apache `+ apache.conf +
.
Основной файл конфигурации состоит как минимум из двух разделов - * 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
Измените имя этого дерева на то, которое однозначно идентифицирует сервер. Это имя, которое будет отображаться в веб-интерфейсе Munin. В этом примере мы будем использовать * MuninMaster *, но вы также можете использовать имя хоста сервера:
/etc/munin/munin.conf
[]
address 127.0.0.1
use_node_name yes
Это все для файла конфигурации, поэтому сохраните и закройте его.
В том же каталоге + / etc / munin +
следующий файл, который мы будем изменять, - это + apache.conf , который является файлом конфигурации Apache Munin. Он связан с ` / etc / apache2 / conf-available / munin.conf `, который, в свою очередь, связан с ` / etc / apache2 / conf-enabled / munin.conf `. Чтобы начать его изменение, откройте его с помощью ` nano +`:
sudo nano apache.conf
В самом верху файла измените первую строку, чтобы она отражала путь * htmldir *, который вы указали в + munin.conf +
и создали ранее. Исходя из пути к каталогу, использованного в этой статье, он должен выглядеть следующим образом, поэтому вы можете получить доступ к веб-интерфейсу Munin, добавив * munin * к IP-адресу сервера или домену, размещенному на сервере:
/etc/munin/apache.conf
Alias /munin /var/www/munin
Затем найдите раздел * Directory * и измените каталог на + / var / www / munin +
. Также закомментируйте (или удалите) первые четыре строки, а затем добавьте две новые директивы, чтобы они выглядели так:
/etc/munin/apache.conf
<Directory >
#Order allow,deny
#Allow from localhost 127.0.0.0/8 ::1
#Allow from all
#Options None
...
...
</Directory>
Найдите предпоследний раздел местоположения, закомментируйте или удалите первые две строки и добавьте две новые, чтобы они выглядели так:
/etc/munin/apache.conf
<Location /munin-cgi/munin-cgi-graph>
#Order allow,deny
#Allow from localhost 127.0.0.0/8 ::1
...
...
</Location>
Сделайте то же самое с последним разделом местоположения:
/etc/munin/apache.conf
<Location /munin-cgi/munin-cgi-html>
#Order allow,deny
#Allow from localhost 127.0.0.0/8 ::1
...
...
</Location>
Сохраните и закройте файл. Затем перезапустите Apache и Munin.
sudo service apache2 restart
sudo service munin-node restart
Теперь вы можете получить доступ к веб-интерфейсу Munin, указав в браузере / munin
изображение: https: //assets.digitalocean.com/articles/munin_install/MuninMaster1.png [веб-интерфейс Munin]
Шаг 4 - Добавление узла в Munin Master
На этом шаге мы покажем, как добавить удаленный сервер (или узел) к мастеру Munin, чтобы вы могли отслеживать его в одном веб-интерфейсе. Это включает в себя изменение файла конфигурации мастера Munin для указания дерева хостов для узла. Затем вам нужно будет установить пакет узла Munin на узел и изменить его файл конфигурации, чтобы его мог контролировать мастер Munin.
Давайте начнем с узла Munin - второй созданной вами капли Ubuntu.
Войдите в узел * 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, строка должна выглядеть следующим образом:
[label /etc/munin/munin-node.conf}
allow
Сохраните и закройте файл. Затем перезапустите Munin:
sudo service munin-node restart
Вернитесь на * Munin master *, откройте основной файл конфигурации:
sudo nano /etc/munin/munin.conf
Все, что нам нужно сделать в этом файле, это вставить дерево хостов для (удаленного) узла. Самый простой подход к этому - скопировать и изменить дерево хостов мастера. Обязательно замените IP-адресом узла, который вы добавляете:
/etc/munin/munin.conf
[MuninNode]
address
use_node_name yes
Сохраните и закройте файл. Затем перезапустите Apache:
sudo service apache2 restart
Мунин проверяет наличие новых узлов каждые 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 service munin-node restart
Подождите несколько минут, перезагрузите веб-интерфейс, и вы увидите графики для 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.