Monitorowanie Apache przez HTTP

Wprowadzenie

Ta strona pokazuje szybki i prosty sposób rozpoczęcia monitorowania serwera WWW Apache bez instalowania jakiegokolwiek dodatkowego oprogramowania.

Dla kogo jest ten przewodnik

Ten przewodnik jest przeznaczony dla nowych użytkowników Zabbix i zawiera minimalny zestaw kroków wymaganych do włączenia podstawowego monitorowania instalacji Apache. Jeśli szukasz zaawansowanych opcji dostosowywania lub potrzebujesz bardziej rozbudowanej konfiguracji, zobacz sekcję Konfiguracja w podręczniku Zabbix.

Wymagania wstępne

Przed kontynuowaniem tego przewodnika instalacji musisz pobrać i zainstalować serwer Zabbix oraz frontend Zabbix zgodnie z instrukcjami dla swojego systemu operacyjnego.

Przygotowanie Apache

1. Sprawdź, której wersji Apache używasz:

W systemie opartym na RHEL uruchom:

httpd -v

W Debian/Ubuntu uruchom:

apache2 -v

2. Upewnij się, że moduł Status jest włączony w Twojej instancji Apache.

W systemie opartym na RHEL uruchom:

httpd -M | grep status
status_module (shared)

W Debian/Ubuntu uruchom:

apache2ctl -M | grep status
status_module (shared)

Jeśli nie widzisz status_module na liście, włącz moduł, uruchamiając:

W systemie opartym na RHEL uruchom:

LoadModule status_module /usr/lib/apache2/modules/mod_status.so

W Debian/Ubuntu uruchom:

sudo /usr/sbin/a2enmod status

3. Edytuj plik konfiguracji Apache, aby zezwolić na dostęp do raportów statusu z adresu IP serwera Zabbix.

W systemie opartym na RHEL: /etc/httpd/conf.modules.d/status.conf:

sudo vi /etc/httpd/conf.modules.d/status.conf

W Debian/Ubuntu: /etc/apache2/mods-enabled/status.conf:

sudo vi /etc/apache2/mods-enabled/status.conf

Dodaj do pliku następujące linie (zastąp 198.51.100.255 adresem IP Twojego serwera Zabbix):

  • Dla Apache 2.2:
    <Location /server-status> SetHandler server-status

    Order Deny,Allow Deny from all Allow from 198.51.100.255 </Location>

  • Dla Apache 2.4:
    <Location "/server-status"> SetHandler server-status Require ip 198.51.100.255 </Location>

4. Uruchom ponownie Apache

W systemie opartym na RHEL uruchom:

sudo systemctl restart httpd

W Debian/Ubuntu uruchom:

sudo systemctl restart apache2 

5. Aby sprawdzić, czy wszystko jest poprawnie skonfigurowane, uruchom (zastąp 198.51.100.255 adresem IP Twojego serwera Zabbix):

curl 198.51.100.255/server-status

Odpowiedź powinna zawierać statystyki serwera WWW Apache.

Skonfiguruj Zabbix do monitorowania

1. Zaloguj się do frontend Zabbix.

2. Utwórz host w interfejsie webowym Zabbix.

Ten host będzie reprezentował Twój serwer Apache.

3. W parametrze Interfaces dodaj interfejs Agent i określ adres IP swojej instancji Apache.
Nie musisz instalować agenta Zabbix na tej maszynie, interfejs będzie używany wyłącznie do rozwiązywania makra {HOST.CONN}.
To makro jest używane w pozycjach szablonu do lokalizowania instancji Apache.

4. W parametrze Templates wpisz lub wybierz Apache by HTTP.

5. Przejdź do zakładki Macros i wybierz tryb Inherited and host macros. Sprawdź, czy wartości makr
{$APACHE.STATUS.PORT} i {$APACHE.STATUS.SCHEME} odpowiadają ustawieniom Twojej instalacji.
Domyślnie port to 80, a schemat to http. Zmień wartości makr, jeśli używasz innego portu i/lub schematu.

Wyświetlanie zebranych metryk

Gratulacje! W tym momencie Zabbix już monitoruje Twój serwer WWW Apache.

Aby wyświetlić zebrane metryki, otwórz sekcję menu Monitoring->Hosts menu section i kliknij Dashboards obok hosta.

Ta akcja przeniesie Cię do dashboardu hosta z najważniejszymi metrykami zebranymi ze strony Apache /server-status.

Alternatywnie, w Monitoring->Hosts możesz kliknąć Latest data, aby wyświetlić wszystkie najnowsze zebrane metryki na liście.

Skonfiguruj alerty o problemach

Zabbix może powiadamiać o problemach z Twoją infrastrukturą za pomocą różnych metod. Ten przewodnik zawiera kroki konfiguracji wysyłania alertów e-mail.

1. Przejdź do User settings -> Profile, przejdź do karty Media i dodaj swój adres e-mail.

2. Postępuj zgodnie z przewodnikiem dotyczącym otrzymywania powiadomień o problemach.

Następnym razem, gdy Zabbix wykryje problem, powinieneś otrzymać alert e-mailem.

Przetestuj swoją konfigurację

Aby zasymulować rzeczywisty problem i otrzymać testowy alert o problemie:

1. Otwórz konfigurację hosta Apache server w Zabbix.

2. Przejdź do zakładki Macros i wybierz Inherited and host macros.

3. Kliknij Change obok makra {$APACHE.STATUS.PORT} i ustaw inny port.

4. Kliknij Update, aby zapisać konfigurację hosta.

5. Po kilku minutach Zabbix wykryje problem Apache service is down, ponieważ nie będzie mógł połączyć się z instancją.
Pojawi się on w sekcji Monitoring->Problems.

Jeśli alerty są skonfigurowane, otrzymasz również powiadomienie o problemie.

6. Zmień wartość makra z powrotem, aby rozwiązać problem i kontynuować monitorowanie Apache.

Zobacz także:

  • Utwardzanie serwera WWW - zalecane ustawienia zwiększające bezpieczeństwo serwera WWW.
  • Tworzenie pozycji - jak rozpocząć monitorowanie dodatkowych metryk.
  • Pozycje HTTP - jak monitorować niestandardowe metryki za pomocą HTTP agent.
  • Eskalacje problemów - jak tworzyć wieloetapowe scenariusze alertów (np. najpierw wysłać wiadomość do administratora systemu, a następnie, jeśli problem nie zostanie rozwiązany w ciągu 45 minut, wysłać wiadomość do kierownika centrum danych).