Monitorare Apache tramite HTTP

Introduzione

Questa pagina mostra un modo rapido e semplice per iniziare a monitorare un server web Apache senza installare alcun software aggiuntivo.

A chi è destinata questa guida

Questa guida è pensata per i nuovi utenti di Zabbix e contiene il set minimo di passaggi necessari per abilitare il monitoraggio di base della tua installazione di Apache. Se stai cercando opzioni di personalizzazione approfondite o hai bisogno di una configurazione più avanzata, consulta la sezione Configuration del manuale di Zabbix.

Prerequisiti

Prima di procedere con questa guida all'installazione, è necessario scaricare e installare Zabbix server e Zabbix frontend seguendo le istruzioni per il proprio sistema operativo.

Preparare Apache

1. Verifica quale versione di Apache stai utilizzando:

Su un sistema basato su RHEL, esegui:

httpd -v

Su Debian/Ubuntu, esegui:

apache2 -v

2. Assicurati che il modulo Status sia abilitato nella tua istanza di Apache.

Su un sistema basato su RHEL, esegui:

httpd -M | grep status
status_module (shared)

Su Debian/Ubuntu, esegui:

apache2ctl -M | grep status
status_module (shared)

Se non vedi status_module nell'elenco, abilita il modulo eseguendo:

Su un sistema basato su RHEL, esegui:

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

Su Debian/Ubuntu, esegui:

sudo /usr/sbin/a2enmod status

3. Modifica il file di configurazione di Apache per consentire l'accesso ai report di stato dall'IP del server Zabbix.

Su un sistema basato su RHEL: /etc/httpd/conf.modules.d/status.conf:

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

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

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

Aggiungi le seguenti righe al file (sostituisci 198.51.100.255 con l'indirizzo IP del tuo server Zabbix):

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

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

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

4. Riavvia Apache

Su un sistema basato su RHEL, esegui:

sudo systemctl restart httpd

Su Debian/Ubuntu, esegui:

sudo systemctl restart apache2 

5. Per verificare che tutto sia configurato correttamente, esegui (sostituisci 198.51.100.255 con l'indirizzo IP del tuo server Zabbix):

curl 198.51.100.255/server-status

La risposta dovrebbe contenere le statistiche del web server Apache.

Configurare Zabbix per il monitoraggio

1. Accedi al frontend di Zabbix.

2. Crea un host nell'interfaccia web di Zabbix.

Questo host rappresenterà il tuo server Apache.

3. Nel parametro Interfaces, aggiungi l'interfaccia Agent e specifica l'indirizzo IP della tua istanza Apache. Non è necessario installare Zabbix agent sulla macchina, l'interfaccia verrà usata solo per risolvere la macro {HOST.CONN}. Questa macro viene usata negli item del template per individuare l'istanza Apache.

4. Nel parametro Templates, digita o seleziona Apache by HTTP.

5. Passa alla scheda Macros e seleziona la modalità Inherited and host macros. Verifica che i valori delle macro {$APACHE.STATUS.PORT} e {$APACHE.STATUS.SCHEME} siano adatti alle impostazioni della tua installazione. Per impostazione predefinita, la porta è 80 e lo schema è http. Modifica i valori delle macro se utilizzi una porta e/o uno schema diversi.

Visualizza le metriche raccolte

Congratulazioni! A questo punto, Zabbix sta già monitorando il tuo web server Apache.

Per visualizzare le metriche raccolte, apri la sezione di menu Monitoring->Hosts menu section e fai clic su Dashboards accanto all'host.

Questa azione ti porterà alla dashboard dell'host con le metriche più importanti raccolte dalla pagina Apache /server-status.

In alternativa, da Monitoring->Hosts, puoi fare clic su Latest data per visualizzare tutte le metriche raccolte più recenti in un elenco.

Configurare gli avvisi di problema

Zabbix può notificarti un problema con la tua infrastruttura usando diversi metodi.
Questa guida fornisce i passaggi di configurazione per inviare avvisi via email.

1. Vai a Impostazioni utente -> Profilo, passa alla scheda Media e aggiungi la tua email.

2. Segui la guida per Ricevere la notifica di problema.

La prossima volta che Zabbix rileverà un problema, dovresti ricevere un avviso via email.

Testa la tua configurazione

Per simulare un problema reale e ricevere un avviso di test:

1. Apri la configurazione dell'host Apache server in Zabbix.

2. Passa alla scheda Macros e seleziona Inherited and host macros.

3. Premi Change accanto alla macro {$APACHE.STATUS.PORT} e imposta una porta diversa.

4. Premi Update per salvare la configurazione dell'host.

5. Tra alcuni minuti, Zabbix rileverà il problema Apache service is down, perché ora non riesce a connettersi all'istanza. Comparirà nella sezione Monitoring->Problems.

Se gli avvisi sono configurati, riceverai anche la notifica del problema.

6. Reimposta il valore della macro per risolvere il problema e continuare il monitoraggio di Apache.

Vedi anche:

  • Rafforzamento del web server - impostazioni consigliate per una maggiore sicurezza del web server.
  • Creazione di un item - come iniziare a monitorare metriche aggiuntive.
  • Item HTTP - come monitorare metriche personalizzate usando HTTP agent.
  • Escalation dei problemi - come creare scenari di avviso in più passaggi (ad esempio, inviare prima un messaggio all'amministratore di sistema, quindi, se un problema non viene risolto entro 45 minuti, inviare un messaggio al responsabile del data center).