Introduzione
Il monitoraggio dei log del server web è essenziale per la corretta gestione del tuo sito web, la risoluzione di problemi e l’understanding del comportamento degli utenti. Se stai utilizzando Nginx, genera log di accesso e errori pieni di informazioni valide. Per gestire e analizzare questi log, puoi utilizzare Logstash per processarli e inoltrarli e DigitalOcean OpenSearch gestito per indicizzare e visualizzare i dati.
In questo tutorial, ti guideranno attraverso l’installazione di Logstash su una Droplet, impostandola per raccogliere i tuoi log di Nginx e inviarli a DigitalOcean OpenSearch gestito.
Prerequisiti
-
Un account Cloud DigitalOcean e una Droplet Ubuntu in esecuzione.
-
Deve essere impostato Nginx, e deve essere generato un log sul tuo Droplet. Per installare Nginx su un Droplet, rivedi questo tutorial su Come installare Nginx su Ubuntu.
-
Il cluster OpenSearch dovrebbe essere in esecuzione, e dovresti avere accesso a questo. Visita Come creare cluster OpenSearch per ulteriori dettagli.
-
Conoscenza di Nginx, Logstash e OpenSearch è benefico.
Scenario d’uso
Potresti aver bisogno di questa configurazione se vuoi:
- Monitorare e risolvere problemi: Seguire le prestazioni del server web e gli errori analizzando i log in tempo reale.
- Analizzare le prestazioni: Ottenere informazioni sulle pattern di traffico web e i metriche del server.
- Centralizzare i log: Aggregare i log da più server Nginx in una singola istanza di OpenSearch per un migliore management.
Nota: il tempo di installazione dovrebbe essere intorno alle 30 minuti.
Step 1 – Installazione di Logstash sui Droplet
Logstash può essere installato utilizzando i file binari disponibili qui o i repository di pacchetti personalizzati per il tuo sistema operativo. Per un gestimento e aggiornamenti più semplici, si consiglia di solito l’utilizzo di repository di pacchetti. È possibile utilizzare il gestore di pacchetti APT nei sistemi basati su Debian come Ubuntu, mentre sui sistemi basati su Red Hat come CentOS o RHEL è possibile utilizzare yum
. Entrambi i metodi garantiscono che Logstash sia integrato correttamente nell’infrastruttura di gestione pacchetti del tuo sistema, semplificando l’installazione e la manutenzione.
In questa sezione, ti guiderai attraverso l’installazione di Logstash utilizzando entrambi i gestori di pacchetti apt
e yum
, garantendo che sia in grado di configurare Logstash sul tuo Droplet indipendentemente dalla tua distribuzione Linux.
Per trovare il sistema operativo, esegui il seguente comando:
Per sistemi basati su APT (Ubuntu/Debian)
1.Scarica e installa la Chiave di Firma Pubblica:
2.Installa apt-transport-https se non è già installato:
3.Aggiungi e salva la definizione del repository di Logstash alla tua lista delle fonti apt
:
Nota: Assicurarsi di non utilizzare i comandi add-apt-repository
poiché potrebbero aggiungere una voce deb-src
non supportata. Se si incontra un errore relativo a una voce deb-src
, la eliminare dalla file /etc/apt/sources.list
. Se hai aggiunto la voce deb-src
, vedrai un errore simile al seguente:
Se solo elimini la voce deb-src
dalla file /etc/apt/sources.list
, l’installazione dovrebbe funzionare come previsto.
4. Aggiornare l’indice dei pacchetti per includere il nuovo repository:
5. Installare Logstash utilizzando il gestore di pacchetti apt
:
6. Avviare Logstash e abilitarlo a avviare automaticamente all’avvio:
Logstash è ora installato e in esecuzione sul tuo sistema.
Per sistemi basati su YUM (CentOS/RHEL)
1. Scaricare e installare la chiave di firma pubblica per il repository di Logstash:
2. Creare un file di repository per Logstash in /etc/yum.repos.d/
. Per esempio, creare un file chiamato logstash.repo
. Puoi copiare e incollare i contenuti seguenti per creare il file e aggiornare il contenuto:
Il repository è pronto per l’uso.
3. Installare Logstash utilizzando il gestore di pacchetti YUM:
4. Avviare Logstash e abilitarlo a avviare automaticamente all’avvio:
Logstash è ora installato e in esecuzione sul tuo sistema.
Step 2 – Installazione del plugin di output Open Search
Puoi installare il plugin di output OpenSearch eseguendo il seguente comando:
Puoi trovare maggiori informazioni sul plugin in questo repository del plugin logstash-output-opensearch.
Step 3 – Configurazione di Logstash per inviare i log di Nginx a OpenSearch
Un pipeline di Logstash è costituito da tre fasi principali: input, filtro e output. I pipeline di Logstash utilizzano plugin. Puoi utilizzare plugin comunitari o creare tuoi propii.
- Input: Questa fase raccoglie dati da varie fonti. Logstash supporta numerosi plugin di input per gestire fonti dati come file di log, database, coda di messaggi e servizi cloud.
- Filter: Questa fase processa e trasforma i dati raccolti nell’input. I filtri possono modificare, arricchire e strutturare i dati per renderli più utili e semplici da analizzare.
- Output: Questo stadio invia i dati elaborati in una destinazione. Le destinazioni possono includere database, file e repository dati come OpenSearch.
Ora creiamo un pipeline.
1.Creare file di configurazione di Logstash in /etc/logstash/conf.d/nginx-to-opensearch.conf
con i seguenti contenuti:
Sostituisci:
OpenSearch-Hostname
con il nome host del server OpenSearch.<your_password>
con la password di OpenSearch.
2.Applicare la nuova configurazione riavviando Logstash:
3.Controllare i log di Logstash per assicurarsi che stia elaborando e inoltrando i dati correttamente:
Ripartizione della configurazione di nginx-to-opensearch.conf
INPUT
Il blocco input
configura due input file per leggere i log:
Log di Nginx:
Percorsi:
/var/log/nginx/access.log
(per i log di accesso)
/var/log/nginx/error.log
(per i log di errore)
Posizione di Inizio: beginning
– Legge dall’inizio dei file di log.
Percorso sincedb: /dev/null
– Disabilita il tracciamento per la lettura continua.
Etichette:
["nginx_access"]
per i log di accesso
["nginx_error"]
per i log di errore.
Nota: Assicurarsi che il servizio Logstash abbia accesso ai percorsi di input.
FILTRO
Il blocco filter
processa i log in base alle loro etichette:
Elaborazione Log:
Log di Accesso:
Utilizza un filtro grok
per parse il formato dei log di accesso, estraendo campi come client_ip
, timestamp
, method
, request
, http_version
, response
, bytes
, referrer
, e user_agent
.
Rimuove il messaggio originale message
e alcuni campi di metadata.
Log di Errore:
Cerca l’etichetta nginx_error
e applica un filtro grok
per estrarre campi come timestamp
, level
, pid
, tid
, e error_message
.
Anche questo rimuove il message
e i campi di metadata.
USCITA
Il blocco output
indirizza gli eventi a OpenSearch in base alle loro etichette:
Routing a OpenSearch:
Sia per i log di accesso che per quelli di errore, specifica:
Host: URL dell’istanza OpenSearch.
Utente: doadmin
per l’autenticazione.
Password: La password di OpenSearch.
Indice:
nginx_access-%{+YYYY.MM.dd}
per i log di accesso
nginx_error-%{+YYYY.MM.dd}
per i log di errore
Impostazioni SSL: Abilita SSL e la verifica del certificato.
Step 4 – Configurare OpenSearch
1.Apri il tuo browser web e naviga fino alla URL del Pannello OpenSearch:
Sostituisci OpenSearch-Hostname
con l’hostname del tuo server OpenSearch.
2.Crea un modello di indice.
a. Sulla barra laterale sinistra, naviga fino a Gestione > Gestione Pannelli > Modelli di Indice.
b. Clicca su Crea modello di indice in alto a destra.
c. Inserisci nginx_access-*
o nginx_error-*
come modello di indice per corrispondere a tutti gli indici creati da Logstash e clicca su Prossimo passo.
d. Clicca su Crea modello di indice.
3.Assicurati che il modello di indice sia stato creato con successo e sia visibile nella lista dei modelli di indice.
4.Sulla barra laterale sinistra, vai a Scopri e seleziona il modello di indice che hai creato (nginx_access-*
o nginx_error-*
). Verifica che le righe del log siano visibili e indicizzati correttamente.
5.Crea Visualizzazioni e Pannelli. Consulta Come creare un Pannello in OpenSearch per maggiori dettagli.
Risoluzione Dei Problemi
Verifica connettività
Puoi verificare che Logstash sia in grado di connettersi ad OpenSearch testando la connettività:
Sostituisci:
OpenSearch-Hostname
con il nome host del tuo server OpenSearch.<your_password>
con la tua password OpenSearch.
Ingestione dati
Puoi assicurarti che i dati siano indicizzati correttamente in OpenSearch utilizzando il seguente comando curl:
Sostituisci:
OpenSearch-Hostname
con il nome host del tuo server OpenSearch.<your_password>
con la tua password OpenSearch.
Configurazione firewall e rete
Assicurati che le regole firewall e le impostazioni di rete permettano il traffico tra Logstash e OpenSearch sulla porta 25060
.
Conclusione
In questo guide, hai imparato come impostare Logstash per raccogliere e inoltrare i log di Nginx a OpenSearch.
Hai rivisto come usare i gestori di pacchetti apt
o yum
, a seconda della tua distribuzione Linux, per far partire Logstash sulla tua Droplet. Inoltre hai creato e modificato il file di configurazione di Logstash per assicurarti che i log di Nginx siano parsati correttamente e inviati a OpenSearch. Poi hai impostato un modello di indice in OpenSearch Dashboards per verificare che i log siano indicizzati correttamente e siano visibili per l’analisi. Compiendo questi passaggi, dovresti ora avere una configurazione funzionante in cui Logstash raccoglie i log di Nginx e li invia a OpenSearch. Questa configurazione ti consente di usare le potenti funzionalità di ricerca e visualizzazione di OpenSearch per analizzare i tuoi log server.
Se ci sono problemi, consulta le consigliere di soluzione fornite e rivolgersi alla documentazione di Logstash e alla documentazione di OpenSearch per ulteriore aiuto. La monitorizzazione regolare mantenterà il tuo sistema di logging funzionante fluentemente e efficientemente.
Source:
https://www.digitalocean.com/community/tutorials/forward-nginx-logs-to-opensearch-using-logstash