Monitorix – простая система мониторинга с возможностью вывода графиков в веб-интерфейс.
Написана на Perl, веб-интерфейс работает через p5-HTTP-Server-Simple
.
Установка производится на:
# uname -sr FreeBSD 9.0-RELEASE-p3
Ищем порт:
# cd /usr/ports/ && make search name=monitorix Port: monitorix-3.4.0 Path: /usr/ports/sysutils/monitorix Info: A web based monitoring system Maint: [email protected] B-deps: cairo-1.10.2_7,2 dejavu-2.34_3 encodings-1.0.4_1,1 expat-2.1.0 font-bh-ttf-1.0.3_1 font-misc-ethiopic-1.0.3_1 font-misc-meltho-1.0.3_1 font-util-1.3.0_1 fontconfig-2.11.0_1,1 freetype2-2.5.3 gettext-0.18.3.1 glib-2.36.3_2 graphite2-1.2.4 harfbuzz-0.9.25_1 icu-52.1 kbproto-1.0.6 libX11-1.6.2,1 libXau-1.0.8 libXdmcp-1.1.1 libXft-2.3.1 libXrender-0.9.8 libffi-3.0.13_1 libfontenc-1.1.2 libiconv-1.14_3 libpthread-stubs-0.3_4 libxcb-1.9.3 libxml2-2.8.0_3 mkfontdir-1.0.7 mkfontscale-1.1.1 pango-1.34.1_2 pcre-8.34 perl5-5.16.3_9 pixman-0.32.4 png-1.5.18 python27-2.7.6_4 readline-6.3.3_1 renderproto-0.11.1 rrdtool-1.4.8 xcb-util-0.3.9_1,1 xcb-util-renderutil-0.3.8 xorg-fonts-truetype-7.7_1 xproto-7.0.25 R-deps: cairo-1.10.2_7,2 dejavu-2.34_3 encodings-1.0.4_1,1 expat-2.1.0 font-bh-ttf-1.0.3_1 font-misc-ethiopic-1.0.3_1 font-misc-meltho-1.0.3_1 font-util-1.3.0_1 fontconfig-2.11.0_1,1 freetype2-2.5.3 gettext-0.18.3.1 glib-2.36.3_2 graphite2-1.2.4 harfbuzz-0.9.25_1 icu-52.1 kbproto-1.0.6 libX11-1.6.2,1 libXau-1.0.8 libXdmcp-1.1.1 libXft-2.3.1 libXrender-0.9.8 libffi-3.0.13_1 libfontenc-1.1.2 libiconv-1.14_3 libpthread-stubs-0.3_4 libxcb-1.9.3 libxml2-2.8.0_3 mkfontdir-1.0.7 mkfontscale-1.1.1 p5-Authen-NTLM-1.09 p5-CGI.pm-3.63,1 p5-Config-General-2.52 p5-DBI-1.631 p5-Digest-HMAC-1.03 p5-Email-Date-Format-1.002 p5-Encode-Locale-1.03 p5-File-Listing-6.04 p5-HTML-Parser-3.71 p5-HTML-Tagset-3.20 p5-HTTP-Cookies-6.01 p5-HTTP-Daemon-6.01 p5-HTTP-Date-6.02 p5-HTTP-Message-6.06_2 p5-HTTP-Negotiate-6.01 p5-HTTP-Server-Simple-0.44 p5-IO-HTML-1.00 p5-IO-Socket-IP-0.29 p5-IO-Socket-SSL-1.975_1 p5-LWP-MediaTypes-6.02 p5-MIME-Lite-3.03.0 p5-MIME-Types-2.04 p5-Mail-Tools-2.13 p5-Net-HTTP-6.06 p5-Net-SSLeay-1.58 p5-ParallelUA-2.57_2 p5-Socket-2.013 p5-TimeDate-2.30_1,1 p5-URI-1.60 p5-WWW-RobotRules-6.02 p5-XML-NamespaceSupport-1.11 p5-XML-Parser-2.41_1 p5-XML-SAX-0.99_1 p5-XML-SAX-Base-1.08 p5-XML-SAX-Expat-0.50 p5-XML-Simple-2.20 p5-libwww-6.05 pango-1.34.1_2 pcre-8.34 perl5-5.16.3_9 pixman-0.32.4 png-1.5.18 python27-2.7.6_4 readline-6.3.3_1 renderproto-0.11.1 rrdtool-1.4.8 xcb-util-0.3.9_1,1 xcb-util-renderutil-0.3.8 xorg-fonts-truetype-7.7_1 xproto-7.0.25 WWW: http://www.monitorix.org/
Запускаем установку:
# cd /usr/ports/sysutils/monitorix && make install clean You may set following options: DBDIR=/var/db/monitorix Where do you put RRD databases? CGIDIR=www/cgi-bin Where do you put cgi? CGIPATH=/cgi-bin What is the relative URL for cgi files? WWWDIR=/usr/local/www/monitorix Where do you put httpd's document root? ...
(да, pkg_install
уже устарел и пора переходить на pkgng
).
Зависимостей довольно много, так что установка займёт некоторое время.
На Linux/CentOS, как обычно, всё немного проще:
# yum -y install monitorix
Во FreeBSD файл конфигурации – /usr/local/etc/monitorix.conf
, на CentOS – /etc/monitorix/monitorix.conf
.
Меняем владельца каталога для Monitorix:
# chown -R nobody:nobody /usr/local/www/monitorix/
Делаем тестовый запуск:
# service monitorix onestart Starting monitorix.
На CentOS:
# service monitorix start
Проверим:
# monitorix -v Monitorix version 3.4.0 (02-Dec-2013) by Jordi Sanfeliu <[email protected]> http://www.monitorix.org/
# sockstat | grep 8080 nobody perl5.14.4 40557 3 tcp4 *:8080 *:*
# ps aux | grep perl root 40548 0.0 1.2 29636 12648 ?? Ss 3:19PM 0:00.39 /usr/local/bin/monitorix -c /usr/local/etc/monitorix.conf -p /var/run/monitorix.pid (perl5.14.4)
Заходим по адресу http://domain.ua:8080/monitorix
Добавляем автозапуск при старте сервера, в файл /etc/rc.conf
:
monitorix_enable="YES"
Добавление/исключение графиков из списка выбора настраивается в файле конфигурации, в блоке:
# Graphs (de)activation # ----------------------------------------------------------------------------- <graph_enable> system = y kern = y proc = y ... ftp = n apache = n nginx = n lighttpd = n mysql = n squid = n nfss = n nfsc = n bind = n ... </graph_enable>
Где y = YES
(разрешить), и n = NO
(не показывать).
По-умолчанию файл на находится в read-only режиме:
# ls -l /usr/local/etc/monitorix.conf -r--r--r-- 1 root wheel 18562 May 7 15:06 /usr/local/etc/monitorix.conf
Поэтому перед редактированием – меняем права:
# chmod 644 /usr/local/etc/monitorix.conf
Учтите, что для мониторинга Apache HTTP, например – потребуется активный server-stastus. Подробнее – в документации.
После редактирования – перезапускаем Monitorix:
# service monitorix restart Stopping monitorix. Starting monitorix.
Пример графика Load Average
:
Лог доступен в файле /var/log/monitorix
.
Ограничение доступа реализовано с помощью стандартной htpasswd
-файла, и настраивается в файле конфигурации в блоке:
<auth> enabled = y msg = Monitorix: Restricted access htpasswd = /var/lib/monitorix/htpasswd </auth>
Создаём директорию и файл (или просто меняем путь к файлу в конфигурации):
# mkdir /var/lib/monitorix/
# touch /var/lib/monitorix/htpasswd
# chown -R nobody:nobody /var/lib/monitorix/
Задаём пароль стандартной утилитой htpasswd
с опцией -d
:
# htpasswd -d -c /var/lib/monitorix/htpasswd setevoy New password: Re-type new password: Adding password for user setevoy
Или можно воспользоваться скриптом /usr/local/share/doc/monitorix/htpasswd.pl
.
Документация – http://www.monitorix.org/.