Z racji tego, że Raspberry Pi idealnie nadaje się do pracy jako urządzenia monitorującego czemu go nie wykorzystać. Dostępne jest sporo narzędzi do tego łącznie z odczytywaniem parametrów pracy serwera jednak w moim przypadku wystarcza min informacja, że serwer nie odpowiada na zapytania HTTP/HTTPS, do takiego celu powstało oprogramowanie PHP Server Monitor.
Oczywiście owe oprogramowanie możemy uruchomić nawet na hostingu współdzielonym, jednak w moim przypadku zależało mi na czymś niezależnym od zewnętrznego hostingu, można tu wykorzystać po za Raspberrypi np. OrangePi Zero ja użyję do tego celu Raspberry Pi zero W.
Potrzebne komponenty:
- Raspberry Pi lub odpowiednik,
- zasilacz,
- Karta micro-SD,
- Raspbian / Debian lub odpowiednik
Instalacja
Zakładam, że system już każdy potrafi wgrać na kartę jak i wykonać podstawowe czynności z nim związane. Na wstępie zalecam ustawić stały adres IP dla naszego systemu. Następnie przechodzimy do instalacji:
sudo apt-get install apache2 apache2-doc apache2-utils libapache2-mod-php5 php5 php-pear php5-xcache php5-mysql mysql-server mysql-client php5-curl
W trakcie instalacji zostaniemy poproszeni o podanie hasła do naszego serwera baz danych, po ukończeniu instalacji resetujemy apache w tym celu wykorzystujemy komendę:
sudo /etc/init.d/apache2 restart
W tym momencie mamy już gotowy serwer WWW, teraz czas abyśmy utworzyli bazę danych i użytkownika, w tym celu uruchamiamy klienta SQL:
mysql -u root -p
System zapyta nas o hasło root bazy danych SQL, po wprowadzeniu hasła wykonujemy po kolei polecenia znajdujące się poniżej. W miejsce „UŻYTKOWNIK”, „HASŁO”, „BAZA_DANYCH” wpisujemy swoje dane.
create user UŻYTKOWNIK identified by 'HASŁO';
create database BAZA_DANYCH;
use BAZA_DANYCH;
grant all on BAZA_DANYCH to UŻYTKOWNIK;
grant all on BAZA_DANYCH.* to UŻYTKOWNIK;
exit
Instalacja PHP Server Monitor
Archiwum ze skryptem można pobrać ze strony autora lub od nas
cd ~
wget -O monitor.zip https://www.tranzystor.pl/pliki/programy/phpservermon-3.2.0.zip
lub
wget -O monitor.zip https://sourceforge.net/projects/phpservermon/files/phpservermon/phpservermon-3.2.0.zip/download
Po pobraniu rozpakowujemy archiwum do katalogu serwera WWW:
unzip monitor.zip -d /var/www/html/
Przydało by się też nadać uprawnienia do katalogu www dla użytkownika „pi” w tym celu w konsoli wpisujemy:
sudo chown -R pi:www-data /var/www/html/
sudo chmod -R 770 /var/www/html/
Z racji tego, że katalog główny w archiwum ma nazwę phpservermon-3.2.0 zmieniam ją na prostszą:
mv /var/www/html/phpservermon-3.2.0/ /var/www/html/monitor
Po tej czynności nasz panel dostępny jest http://ip-maliny/monitor po otwarciu strony pojawi się instalator, jednak przed wejściem w instalację zalecam zedytować plik config.php.sample jednocześnie zmieniając jego nazwę na config.php.
define('PSM_DB_PREFIX', 'monitor_');
define('PSM_DB_USER', 'db_user'); // użytkownik bazy danych
define('PSM_DB_PASS', 'db_pass'); // hasło do bazy danych
define('PSM_DB_NAME', 'db_name'); // nazwa bazy danych
define('PSM_DB_HOST', 'localhost'); // serwer baz danych
define('PSM_DB_PORT', '3306'); // port do bazy danych
define('PSM_BASE_URL', ''); // adres na jakim używany naszego monitora
Konfiguracja PHP Server Monitor
Niezbędne rzeczą do działania monitora jest utworzenie zadania cron. Ma to za zadanie cykliczne uruchamianie monitora, w tym celu otwieramy plik konfiguracyjny crona poleceniem:
sudo crontab -e
i dodajemy wpis
*/15 * * * * /usr/bin/php /var/www/html/cron/status.cron.php
zadanie będzie uruchamianie co 15minut.
Po zalogowaniu się do naszego panelu, przechodzimy do konfiguracji, główna zakładka która nas interesuje jest to Email.
Mamy tu dostępne opcje konfiguracyjne konta pocztowego z którego będą wysyłane powiadomienia, nie wymagają komentarza zalecam jednak wysyłanie poczty przez serwer SMTP.
Aby dodać interesujący nas adres do monitorowania wchodzimy w zakładkę „Serwery”, tu raczej nie trzeba za wiele tłumaczyć.
Resztę opcji na bank załapiecie sami i nie ma sensu tego opisywać 😉