Monitorix to w pełni wolne narzędzie, stworzone do monitorowania zasobów systemowych oraz sieciowych pod Linuksem. Zostało ono zaprojektowano jako lekkie i proste w obsłudze, z użyciem języka Perl. Wbudowana aplikacja RRDtool, czyli zestaw narzędzi do obsługi cyklicznych baz danych służy do generowania i wyświetlania graficznych wykresów w przeglądarce internetowej. Narzędzie zostało przygotowane z myślą o monitorowaniu systemów operacyjnych Red Hat Enterprise Linux, CentOS, Fedora, Debian, Ubuntu Server i wielu innych. Potrafi także działać na OpenBSD, NetBSD i FreeBSD.

Instalacja pod CentOS 6 i Red Hat Enterprise Linux 6

Monitorix nie jest domyślnie dostępny w repozytoriach CentOSa i RHEL, dlatego musimy mieć aktywne repozytoria EPEL oraz IUS Community Repo. Wykonajmy zatem kilka komend z poziomu konta administratora:

yum install epel-release
wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/ius-release-1.0-13.ius.centos6.noarch.rpm
rpm -Uvh ius-release*.rpm

Teraz należy wykonać
yum upadate

i odczekać chwilę na zainstalowanie wszystkich aktualizacji. Następnie wykonujemy komendę:

yum install -y monitorix

i czekamy na zainstalowanie narzędzia.

Konfiguracja pod CentOS 6 i RHEL 6

W naszym artykule pokażemy podstawowe opcje konfiguracyjne, potrzebne do poprawnego uruchomienia. Warto w tym miejscu zapoznać się ze świetną dokumentacją do eksperymentowania.

Do podstawowej konfiguracji i testowania, zalecamy na początek wyłączenie SELinuksa przy pomocy polecenia:
setenforce 0

Teraz musimy dodać Monitorix do procesów uruchamianych, podczas startu systemu:
chkconfig monitorix on

Teraz musimy wejść do pliku konfiguracyjnego, wydając to polecenie:
vim /etc/monitorix/monitorix.conf

Nas interesuje głównie poniższa zawartość:

# Monitorix - configuration file
#
# See monitorix.conf(5) manpage for a detailed description of each option.
#

title = 
hostname = 
theme_color = black
refresh_rate = 150
iface_mode = graph
enable_zoom = y
netstats_in_bps = n
disable_javascript_void = n
temperature_scale = c
show_gaps = n
global_zoom = 1
max_historic_years = 1
accept_selfsigned_certs = y
include_dir = /etc/monitorix/conf.d

base_dir = /var/lib/monitorix/www/
base_lib = /var/lib/monitorix/
base_url = /monitorix
base_cgi = /monitorix-cgi

<httpd_builtin>
        host =
        port = 8080
        user = nobody
        group = nobody
        log_file = /var/log/monitorix-httpd
        hosts_deny =
        hosts_allow =
        <auth>
                enabled = n
                msg = Monitorix: Restricted access
                htpasswd = /var/lib/monitorix/htpasswd
        </auth>
</httpd_builtin>

Linijki poczatkowe, które należy uzupełnić to:
title = CentOS 6.7 - monitoring maszyny – podajemy swoją własną nazwę
hostname = centos – tutaj dajemy taki tytuł, aby można było bez problemów podczas logowania się na serwer, rozróżnić monitorowane maszyny
refresh_rate = 30 – czas odświeżania w sekundach. Domyślnie jest 150, ale my proponujemy 30 dla lepszego zobrazowania wykresów

Ciekawą opcją jest wbudowany serwer httpd (<httpd_builtin>), dzięki któremu nie będziemy musieli instalować własnego Apacha i go konfigurować. Możemy także zdefiniować pełną autoryzację Poniżej linijki, które warto dokładniej przejrzeć:
enabled = y – włącza lub wyłącza wbudowany serwer
host = – umożliwia przypisanie serwera do konkretnego interfejsu sieciowego. Puste pole przypisuje do wszystkich istniejących
port = 8080 – port na którym będziemy się łączyli poprzez stronę internetową
user = monitorix – nazwa użytkownika, na jakim będzie działał monitoring
group = monitoring – grupa, do której będzie należał użytkownik
hosts_deny = all – wyłącza dostęp dla wszystkich adresów IP
hosts_allow = 192.168.0.101 – dopuszcza konkretny adres IP, nawet jeżeli jest on zdefiniowany w opcji wyżej

Zrzuty ekranu poszczególnych usług

Monitoring systemu


Po lewej widzimy średnią ilość procesów w kolejce do wykonania, a po prawej ilość użytkowników zalogowanych w systemie

Monitoring jądra Linux


Tutaj mamy użycie jądra Linux przez poszczególne procesory oraz przez cały system

Monitoring sieci


Bardzo szczegółowe informacje o ilości pakietów, obciążeniu poszczególnych interfejsów, ilości wysłanych i odebranych danych

Monitoring usług


Wykres obciążenia bazy danych MySQL i serwera Apache

Monitoring sensorów


Tutaj widzimy podłączone sensory na Raspberry Pi oraz dane z sensorów zbierane przez LM-Sensors

Monitoring użycia dysku


Wykorzystanie systemu plików, odczyt i zapis, a także temperatury i żywotność dysku

  • Wojciech Broda

    Fajne, tylko trzeba uważać bo niektóre ficzery zjadają całego procka.