Raspberry Pi jako monitor serwera WWW

Raspberry Pi idealnie nadaje się do roli urządzenia monitorującego pracę serwerów, np. serwera WWW. Są dostępne rozbudowane narzędzia, np. NagiosPi, które umożliwiają monitorowanie wielu parametrów pracy serwera, ale są skomplikowane w konfiguracji, a w wielu przypadkach wystarczy nam informacja, że serwer nie odpowiada na zapytania HTTP (mówiąc prosto: strona się nie wyświetla), do tego celu stworzono oprogramowanie PHP Server Monitor.

Dzięki temu skryptowi możliwe jest uruchomienie prostego systemu monitorującego w mniej niż godzinę (przy odrobinie wprawy nawet w pół godziny), mówię tu o czasie od wyjęcia Raspberry Pi i karty microSD z opakowania, nie o czasie konfiguracji samego PHP Server Monitora.

Oczywiście oprogramowanie PHP Server Monitor można uruchomić na dowolnym komputerze dla którego dostępny jest serwer WWW z obsługą PHP oraz mySQL. Jeśli Raspberry Pi wydaje Ci się za drogi to pojawiło się ostatnio sporo tańszych komputerków, np. Orange Pi Zero w cenie ok. 60 PLN, uruchomienie całego systemu powinno wyglądać w jego przypadku bardzo podobnie.

Co będzie potrzebne?

  • Komputer Raspberry Pi (w zasadzie każda wersja, oczywiście w wersji A+ niezbędna będzie karta sieciowa USB)
  • Zasilacz odpowiedni dla wybranej wersji Pi
  • Karta micro-SD z adapterem SD
  • Kabel ethernetowy (zbędny, jeśli zamierzasz łączyć się przez WiFi)
  • Konto pocztowe do wysyłania wiadomości o działaniu serwerów

Instalacja systemu oraz serwera WWW

Zakładam, że umiesz zainstalować Raspbiana na karcie SD i wykonać podstawową konfigurację (jeśli nie, to poszukaj w sieci hasła raspi-config) i ustawić stały adres IP. Teraz możemy przystąpić do instalacji serwera Apache, PHP i serwera mySQL, po kolei trzeba wykonać polecenia:

Mamy już gotowy serwer WWW, teraz utworzymy bazę danych i użytkownika, w tym celu uruchamiamy klienta mySQL:

Komputer zapyta nas o hasło użytkownika root bazy danych mySQL (hasło trzeba było ustawić podczas konfiguracji serwera), po wprowadzeniu hasła wykonujemy po kolei polecenia:

Instalacja PHP Server Monitor

Archiwum ze skryptem można pobrać ze strony autora:

Rozpakowujemy archiwum do katalogu dokumentów serwera WWW:

Ponieważ katalog główny w arciwum ma skomplikowaną nazwę (phpservermon-3.1.1) zmieniam ją na prostszą:

W tej chwili strona monitora dostępna jest pod adresem http://IP_RASPBERRY_PI/psm, po otwarciu strony pojawi się instalator:

Ja jednak miałem z nim niewielki problem, mianowicie instalator nie mógł zapisać pliku konfiguracyjnego (nie chodzi o uprawnienia do zapisu – sprawdziłem), ale autor przewidział tego typu problem, bo instalator wyświetla zawartość tego pliku, można ją samodzielnie umieścić w pliku /var/www/html/psm/config.php.

Należy skopiować zawartość okienka i zapisać ją w pliku /var/www/html/psm/config.php używając np. edytora nano, potem kliknąć niebieski przycisk „I have saved…”. W kolejnym oknie należy podać dane administratora aplikacji (nazwa użytkownika, hasło i adres email), no i to była cała instalacja, teraz można przejść do konfiguracji.

Konfiguracja PHP Server Monitor

Niezbędne do działania monitora jest utworzenie zadania cron, które cyklicznie będzie uruchamiać monitorowanie, w tym celu otwieramy plik konfiguracyjny crona poleceniem:

Na końcu pliku dodajemy linijkę:

Ciąg */5 na początku wiersza oznacza, że polecenie będzie uruchamiane co 5 minut, tj. co 5 minut będzie badany stan serwerów, należy to skonfigurować wg. własnego uznania. Teraz możemy otworzyć stronę PHP Server Monitora i zalogować się, zobaczymy stan monitorowania dla dwóch przykładowych serwerów, które są domyślnie skonfigurowane:

Na początek wypadałoby przejrzeć zakładki konfiguracyjne, pierwsza wygląda tak:

Mamy tu podstawowe opcje konfiguracyjne, nie wymagają komentarza, druga istotna dla nas zakładka dotyczy konfiguracji poczty email, tu zalecam ustawienia jak na zrzucie (tzn. wysyłka przez serwer SMTP:

Trzecia zakładka konfiguracyjna nas prawie na pewno nie dotyczy, bo proponowane usługi nie działają w Polsce (prawie, bo sprawdziłem trzy z tych usług), natomiast w czwartej zakładce mamy możliwość konfiguracji usługi Pushover, która umożliwia przesyłanie informacji na smartfon lub komputer, usługa płatna jednorazowo (kilka dolarów) osobno na każdą z wybranych platform (iOS, Android, Windows).

W zakładce „Serwery” widać listę skonfigurowanych do monitorowania serwerów i ich statusy:

Można tu też dodać nowy serwer:

Jak widać na zrzucie, można tu skonfigurować:

  • etykietę, czyli nazwę widoczną w liście monitorowanych usług
  • domenę lub adres IP usługi
  • port usługi
  • czas, w którym odpowiedź ma zostać uzyskana, po przekroczeniu czasu monitor uznaje, że usługa nie działa
  • drogę, jaką użytkownicy mają być informowani o zmianach statusu usługi
  • listę użytkowników, którzy mają być powiadamiani

Podsumowując – PHP Server Monitor nie poraża możliwościami, ale małym kosztem i niewielkim nakładem czasu pozwala stworzyć przyzwoity system, który zaalarmuje w przypadku problemów z dostępnością stron internetowych.

Komputer Raspberry Pi oraz inne niezbędne elementy dostępne są jako zestaw w sklepie Kamami.pl.

Sklep dla elektroników Kamami.pl

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.