Piszki Lab

Analiza przypadku w języku przodków…

vRealize Hyperic 5.8.4 – Monitorowanie stanu serwera Apache.

| 0 comments

Już wcześniej o tym pisałem, ale powtórzę to jeszcze raz. Hyperic jest genialnym rozwiązaniem do monitorowania praktycznie wszystkiego, od serwerów po aplikacje. W przypadku VMware, Hyperic jest dodawany niejako gratis do wielu licencji, dlatego warto go używać. Jego obsługa jest w miarę intuicyjna, doskonale się integruje z innymi rozwiązaniami VMware. W większości przypadków wystarczy samo zainstalowanie Agenta który wykryje wszystkie potrzebne usługi. Jednak w przypadku serwera Apache tak nie jest, musimy wykonać kilka dodatkowych kroków i o tym będzie ten post.

apache318x260

Hyperic jest w stanie monitorować Apache za pomocą dwóch odmiennych rozwiązań, jeden to moduł snmp a drugi to moduł server-status. Pierwsza metoda wymaga skompilowania tego modułu i jest przeznaczona pod konkretne wersje Apache co praktycznie ją eliminuje. Moduł server-status jest uniwersalny i dostępny praktycznie w każdej dystrybucji. W tym poście będę się opierał na Apache 2.4 zainstalowanym w CentOS 7 i wykorzystującym serwery wirtualne (vhost). Opisana konfiguracja będzie działać praktycznie w każdej wersji i w każdej dystrybucji.

Przyjmuję, że mamy już zainstalowanego na maszynie Agenta (i poprawnie spiętego z serwerem Hyperic). Na początku musimy odpowiednio przygotować serwer HTTPD, monitorować możemy cały serwer lub poszczególne serwery wirtualne. Sprawdzamy czy w pliku /etc/httpd/conf.modules.d/00-base.conf mamy wpis (w domyślnej konfiguracji na pewno będzie):

LoadModule status_module modules/mod_status.so

W pliku /etc/httpd/conf/httpd.conf dodajemy:

EtendedStatus On

Aby monitorować cały serwer dodajemy do pliku konfiguracyjnego (u mnie /etc/httpd/conf.d/vhost.conf):

<VirtualHost localhost:80>
ServerName localhost:80
<Location /server-status>
SetHandler server-status
Allow From 127.0.0.1
</Location>
</VirtualHost>

Aby monitorować poszczególne serwery wirtualne, do każdej sekcji takiego serwera dodajemy wpis:

<Location /server-status>
SetHandler server-status
Allow From 127.0.0.1 (<– tu powinien być publiczny adres IP hosta)
</Location>

Na końcu wydajemy polecenie: systemctl reload httpd

Przechodzimy do panelu Hyperica, wybieramy naszą platformę (CentOS 7) i wybieramy “Tools Menu –> New Server –> Apache HTTPD”, podajemy następujące parametry:

apache1

Szczegółowa konfiguracja dla konkretnego serwera wirtualnego wygląda tak (dla całości w pole host wpisujemy localhost):

apache2

Po dodaniu wszystkich serwerów musimy odczekać parę minut i sprawdzamy czy wszystko jest ok:

apache3

Dane są prawidłowo zbierane:

apache4

Gdy używamy vSphere w wersji poniżej 6.0 to możemy użyć AppHA do reagowania na awarie serwera Apache (wysłanie powiadomienia, restart aplikacji lub restart całej maszyny wirtualnej). Niestety od wersji 6.0 AppHA nie jest oficjalnie rozwijane i wspierane (zupełnie nie wiem dlaczego). Być może się to zmieni lub pojawi się następca AppHA.

Oceń ten artykuł:
[Total: 0 Average: 0]

Dodaj komentarz

Required fields are marked *.