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
Fajne, tylko trzeba uważać bo niektóre ficzery zjadają całego procka.
Możesz powiedzieć jakie np?