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:

[bash]
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
[/bash]

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ść:

[bash]
# 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>
[/bash]

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

Poprzedni artykułSUSECon 2015 poświęcone będzie systemowi Linux i rozwiązaniom takim jak OpenStack, Ceph i Docker
Następny artykułDebian 7.9 i Debian 8.2 – kolejne aktualizacje stabilnych wersji Debiana
Michał Olber
Interesuję się głównie sprzętem i działaniem jego pod systemami GNU/Linux. Testuję różne dystrybucje i robię recenzje. Interesuję się działaniem sprzętu pod Linuksem, dzięki czemu wiem, jaki zestaw komputerowy wybierać :)

2 KOMENTARZE

ZOSTAW ODPOWIEDŹ

Proszę wpisać swój komentarz!
Proszę podać swoje imię tutaj