Поиск по сайту:

Мониторинг сервера с помощью Munin и Monit в Ubuntu 16.04 LTS


Это руководство существует для этих версий ОС

  • Ubuntu 16.04 (Xenial Xerus)
  • Ubuntu 14.04 LTS (Trusty Tahr)

На этой странице

  1. 1 Предварительное примечание
  2. 2 Установка и настройка Munin
  3. 3 Защитите паролем выходной каталог Munin (необязательно, но настоятельно рекомендуется)
  4. 4 Включите дополнительные модули в Munin
  5. 5 Настройте Munin в ISPConfig (необязательно)

В этом руководстве показано, как отслеживать сервер Ubuntu 16.04 с помощью Munin и Monit. Munin создает красивые графики практически по каждому аспекту вашего сервера, тогда как Monit проверяет доступность таких сервисов, как Apache, MySQL, Postfix, и предпринимает соответствующие действия, такие как перезапуск, если обнаруживает, что сервис работает не так, как ожидалось. Комбинация этих двух функций обеспечивает полный мониторинг: графики, позволяющие распознавать текущие или предстоящие проблемы, и сторожевой таймер, обеспечивающий доступность отслеживаемых служб. Это руководство содержит две (необязательные) главы об интеграции Munin и Monit в ISPConfig 3.1.

1 Предварительное примечание

Имя хоста нашей системы — server1.example.com, и у нас есть веб-сайт www.example.com с корнем документа /var/www/www.example.com/web.

Следующие шаги должны быть выполнены как пользователь root. Чтобы стать пользователем root на вашем сервере, выполните следующую команду:

sudo -s

Прежде чем приступить к установке Munin, убедитесь, что система обновлена, запустите:

apt-get update
apt-get upgrade

Apache используется для отображения страниц Munin, модуль apache fcgid требуется для функции масштабирования графика Munin. Я установлю apache и модуль libapache2-mod-fcgid с помощью apt.

apt-get -y install apache2 libcgi-fast-perl libapache2-mod-fcgid

Включите модуль fcgid в apache.

a2enmod fcgid

2 Установите и настройте Munin

Чтобы установить Munin на Ubuntu 16.04, выполните следующие команды:

apt-get -y install munin munin-node munin-plugins-extra

Когда на сервере работает MySQL или MariaDB, включите несколько дополнительных плагинов Munin для мониторинга MySQL:

cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/mysql_ mysql_
ln -s /usr/share/munin/plugins/mysql_bytes mysql_bytes
ln -s /usr/share/munin/plugins/mysql_queries mysql_queries
ln -s /usr/share/munin/plugins/mysql_slowqueries mysql_slowqueries
ln -s /usr/share/munin/plugins/mysql_threads mysql_threads

Далее мы должны отредактировать файл конфигурации Munin /etc/munin/munin.conf. Раскомментируйте строки dbdir, htmldir, logdir, rundir и tmpldir (значения по умолчанию подходят). Мы хотим, чтобы Munin использовал имя server1.example.com вместо localhost.localdomain в выводе HTML, поэтому мы заменяем localhost.localdomain на server1.example.com в разделе простого дерева хостов. Без комментариев измененный файл выглядит так:

nano /etc/munin/munin.conf
# Example configuration file for Munin, generated by 'make build'

# The next three variables specifies where the location of the RRD
# databases, the HTML output, logs and the lock/pid files. They all
# must be writable by the user running munin-cron. They are all
# defaulted to the values you see here.
#
dbdir /var/lib/munin
htmldir /var/cache/munin/www
logdir /var/log/munin
rundir /var/run/munin

# Where to look for the HTML templates
#
tmpldir /etc/munin/templates

# Where to look for the static www files
#
#staticdir /etc/munin/static

# temporary cgi files are here. note that it has to be writable by
# the cgi user (usually nobody or httpd).
#
# cgitmpdir /var/lib/munin/cgi-tmp # (Exactly one) directory to include all files from. includedir /etc/munin/munin-conf.d [...] # a simple host tree
[server1.example.com]
address 127.0.0.1
use_node_name yes [...]

Мы должны найти файл конфигурации Apache для Munin /etc/munin/apache.conf – он определяет псевдоним munin для выходного HTML-каталога munins /var/cache/munin/www, что означает, что мы можем получить доступ к munin со всех веб-сайтов на этом сервере, используя относительный путь /munin (например, http://www.example.com/munin).

Теперь мы отредактируем файл munin.conf для Apache, чтобы разрешить доступ с внешних IP-адресов. Создайте резервную копию исходного файла:

mv /etc/munin/apache24.conf /etc/munin/apache24.conf_bak

Откройте новый файл в редакторе:

nano /etc/munin/apache24.conf

И вставьте содержимое ниже:

Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
# Require local
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
Options None
</Directory>

ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
<Location /munin-cgi/munin-cgi-graph>
# Require local
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
<IfModule mod_fcgid.c>
SetHandler fcgid-script
</IfModule>
<IfModule !mod_fcgid.c>
SetHandler cgi-script
</IfModule>
</Location>

Перезапустите Апач:

service apache2 restart

Затем перезапустите Munin:

service munin-node restart

Теперь подождите несколько минут, чтобы Munin смог выдать свой первый вывод, а затем перейдите на http://www.example.com/munin/ в своем браузере, и вы увидите первую статистику:

(Это всего лишь небольшой отрывок из многих рисунков, которые создает munin...)

3 Защитите паролем выходной каталог Munin (необязательно, но настоятельно рекомендуется)

Теперь рекомендуется защитить паролем выходной каталог munin, если вы не хотите, чтобы все могли видеть каждую маленькую статистику о вашем сервере.

Для этого мы должны создать файл паролей /etc/munin/munin-htpasswd. Мы хотим войти в систему с именем пользователя admin, поэтому мы делаем это:

htpasswd -c /etc/munin/munin-htpasswd admin

Введите пароль для администратора. Затем снова откройте файл /etc/munin/apache.conf...

nano /etc/munin/apache24.conf

... закомментируйте \Требовать все предоставленные и добавьте строки, которые я отметил красным:

Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
# Require local
# Require all granted
AuthUserFile /etc/munin/munin-htpasswd
AuthName "Munin"
AuthType Basic
Require valid-user
Options None
</Directory>

ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
<Location /munin-cgi/munin-cgi-graph>
# Require local
# Require all granted
AuthUserFile /etc/munin/munin-htpasswd
AuthName "Munin"
AuthType Basic
Require valid-user
<IfModule mod_fcgid.c>
SetHandler fcgid-script
</IfModule>
<IfModule !mod_fcgid.c>
SetHandler cgi-script
</IfModule>
</Location>

Затем перезапустите Апач:

service apache2 restart

4 Включите дополнительные модули в Munin

Команда Munin \munin-node-configure --suggest\ может использоваться для получения рекомендаций по дополнительным модулям Munin, которые можно включить на сервере. Бег:

munin-node-configure --suggest

Вывод должен быть похож на этот:

Столбец «используется» показывает, включен ли модуль, столбец «Предложения» показывает, запускает ли сервер службу, которую можно контролировать с помощью этого модуля. Создайте символическую ссылку для модуля в /etc/munin/plugins, чтобы включить его.

Здесь я включу модули apache_*, например:

cd /etc/munin/plugins
ln -s /usr/share/munin/plugins/apache_accesses
ln -s /usr/share/munin/plugins/apache_processes
ln -s /usr/share/munin/plugins/apache_volume

Перезапустите Munin, чтобы загрузить новую конфигурацию.

service munin-node restart

5 Настройте Munin в ISPConfig (необязательно)

Панель управления хостингом ISPConfig имеет возможность отображать данные Munin в модуле ISPConfig Monitor. Данные Munin загружаются в iframe, так как большинство браузеров блокируют загрузку содержимого с http на сайт https, нам придется найти способ доступа к статистике Munin через SSL. Самый простой способ — использовать для этого виртуальный хост ISPConfig с поддержкой SSL, создав символическую ссылку внутри веб-каталога ISPConfig на каталог данных Munin www.

ln -s /var/cache/munin/www /usr/local/ispconfig/interface/web/munin

Теперь мы можем получить доступ к Munin в браузере с помощью https://server1.example.com:8080/munin через виртуальный хост ISPConfig apache.

Следующим шагом будет добавление конфигурации в ISPConfig.

Войдите в ISPConfig как администратор (admin) и перейдите в System > Server config, введите URL-адрес, имя пользователя и пароль для Munin, как показано ниже.

Убедитесь, что вы используете https:// и порт 8080 в URL-адресе munin.