Ricerca elastica

Visualizza i log di Apache con ELK Stack

Visualizza i log di Apache con ELK Stack

Il monitoraggio e l'analisi dei log per varie infrastrutture in tempo reale può essere un lavoro molto noioso. Quando si tratta di servizi come i server Web che registrano costantemente i dati, il processo può essere molto complesso e quasi impossibile.

Pertanto, sapere come utilizzare gli strumenti per monitorare, visualizzare e analizzare i log in tempo reale può aiutarti a tracciare e risolvere i problemi e monitorare le attività sospette del sistema.

Questo tutorial discuterà come è possibile utilizzare una delle migliori raccolte di log in tempo reale e strumenti di analisi: ELK. Utilizzando ELK, comunemente noto come Elasticsearch, Logstash e Kibana, puoi raccogliere, registrare e analizzare i dati da un server Web Apache in tempo reale.

Cos'è ELK Stack??

ELK è un acronimo usato per fare riferimento a tre principali strumenti open source: Elasticsearch, Logstash e Kibana.

Ricerca elastica è uno strumento open source sviluppato per trovare corrispondenze all'interno di un'ampia raccolta di set di dati utilizzando una selezione di linguaggi e tipi di query. È uno strumento leggero e veloce in grado di gestire facilmente terabyte di dati.

Logstash motore è un collegamento tra il lato server ed Elasticsearch, che consente di raccogliere dati da una selezione di fonti a Elasticsearch. Offre potenti API che sono facilmente integrabili con applicazioni sviluppate in vari linguaggi di programmazione.

Kibana è il pezzo finale dello stack ELK. È uno strumento di visualizzazione dei dati che consente di analizzare visivamente i dati e generare report approfonditi. Offre anche grafici e animazioni che possono aiutarti a interagire con i tuoi dati.

Lo stack ELK è molto potente e può fare cose incredibili di analisi dei dati.

Sebbene i vari concetti che discuteremo in questo tutorial ti forniranno una buona comprensione dello stack ELK, considera la documentazione per ulteriori informazioni.

Ricerca elastica: https://linkfy.a/Elasticsearch-Riferimento

Logstash: https://linkfy.a/LogstashReference

Kibana: https://linkfy.a/KibanaGuida

Come installare Apache?

Prima di iniziare l'installazione di Apache e di tutte le dipendenze, è bene notare alcune cose.

Abbiamo testato questo tutorial su Debian 10.6, ma funzionerà anche con altre distribuzioni Linux.

A seconda della configurazione del sistema, sono necessari i permessi sudo o root.

La compatibilità e l'usabilità dello stack ELK possono variare a seconda delle versioni.

Il primo passo è assicurarti di avere il tuo sistema completamente aggiornato:

sudo apt-get update
sudo apt-get upgrade

Il prossimo comando è installare il server web apache2. Se vuoi installare un apache minimo, rimuovi la documentazione e le utilità dal comando seguente.

sudo apt-get install apache2 apache2-utils apache2-doc -y
sudo service apache2 start

A questo punto dovresti avere un server Apache in esecuzione sul tuo sistema.

Come installare Elasticsearch, Logstash e Kibana?

Ora dobbiamo installare lo stack ELK. Installeremo ogni strumento individualmente.

Ricerca elastica

Iniziamo installando Elasticsearch. Useremo apt per installarlo, ma puoi ottenere una versione stabile dalla pagina di download ufficiale qui:

https://www.elastico.co/download/elasticsearch

Elasticsearch richiede Java per essere eseguito. Fortunatamente, l'ultima versione viene fornita in bundle con un pacchetto OpenJDK, eliminando il fastidio di installarlo manualmente. Se è necessario eseguire un'installazione manuale, fare riferimento alla seguente risorsa:

https://www.elastico.co/guide/it/elasticsearch/reference/current/setup.html#versione-jvm

Nel passaggio successivo, dobbiamo scaricare e installare la chiave di firma Elastic APT ufficiale utilizzando il comando:

wget -qO - https://artifacts.elastico.co/GPG-KEY-elasticsearch | sudo apt-key add -

Prima di procedere, potresti richiedere un pacchetto apt-transport-https (richiesto per i pacchetti serviti su https) prima di procedere con l'installazione.

sudo apt-get install apt-transport-https

Ora aggiungi le informazioni sul repository apt alle fonti.elenco.d file.

echo “deb https://artifacts.elastico.co/pacchetti/7.x/apt stabile principale” | sudo tee /etc/apt/sources.elenco.d/elastico-7.X.elenco

Quindi aggiorna l'elenco dei pacchetti sul tuo sistema.

sudo apt-get update

Installa Elasticsearch utilizzando il comando seguente:

sudo apt-get install elasticsearch

Dopo aver installato Elasticsearch, avvia e abilita un avvio all'avvio con i comandi systemctl:

sudo systemctl demone-reload
sudo systemctl abilita elasticsearch.servizio
sudo systemctl start elasticsearch

L'avvio del servizio potrebbe richiedere un po' di tempo. Attendi qualche minuto e conferma che il servizio è attivo e funzionante con il comando:

sudo systemctl status elasticsearch.servizio

Utilizzando cURL, verifica se l'API Elasticsearch è disponibile, come mostrato nell'output JSON di seguito:

curl -X GET "localhost:9200/?bella"

"nome": "debian",
"cluster_name": "elasticsearch",
"cluster_uuid": "VZHcuTUqSsKO1ryHqMDWsg",
"versione":
"numero": "7.10.1",
"build_flavor": "predefinito",
"build_type": "deb",
"build_hash": "1c34507e66d7db1211f66f3513706fdf548736aa",
"build_date": "2020-12-05T01:00:33.671820Z",
"build_snapshot": false,
"versione_lucene": "8.7.0",
"minimum_wire_compatibility_version": "6.8.0",
"minimum_index_compatibility_version": "6.0.0-beta1"
,
“tagline”: “Sai, per la ricerca”

Come installare Logstash?

Installa il pacchetto logstash usando il comando:

sudo apt-get install logstash

Come installare Kibana?

Inserisci il comando seguente per installare kibana:

sudo apt-get install kibana

Come configurare Elasticsearch, Logstash e Kibana?

Ecco come configurare lo stack ELK:

Come configurare Elasticsearch?

In Elasticsearch, i dati vengono ordinati in indici. Ciascuno di questi indici ha uno o più frammenti. Uno shard è un motore di ricerca autonomo utilizzato per gestire e gestire indici e query per un sottoinsieme in un cluster all'interno di Elasticsearch. Un frammento funziona come un'istanza di un indice Lucene.

L'installazione predefinita di Elasticsearch crea cinque shard e una replica per ogni indice. Questo è un buon meccanismo quando è in produzione. Tuttavia, in questo tutorial, lavoreremo con un frammento e nessuna replica.

Inizia creando un modello di indice in formato JSON. Nel file, imposteremo il numero di shard su uno e zero repliche per la corrispondenza dei nomi degli indici (scopi di sviluppo).

In Elasticsearch, un modello di indice si riferisce a come istruisci Elasticsearch nella configurazione dell'indice durante il processo di creazione.

All'interno del file modello json (index_template.json), inserisci le seguenti istruzioni:


"modello":"*",
"impostazioni":
"indice":
"numero_di_schegge":1,
"number_of_replicas": 0


Usando cURL, applica la configurazione json al modello, che verrà applicato a tutti gli indici creati.

curl -X PUT http://localhost:9200/_template/defaults -H 'Content-Type:application/json' -d @index_template.json
"riconosciuto": vero

Una volta applicato, Elasticsearch risponderà con una dichiarazione confermata: true.

Come configurare Logstash?

Affinché Logstash raccolga i log da Apache, dobbiamo configurarlo per osservare eventuali modifiche nei log raccogliendo, elaborando e quindi salvando i log su Elasticsearch. Perché ciò accada, è necessario impostare il percorso del registro di raccolta in Logstash.

Inizia creando la configurazione di Logstash nel file /etc/logstash/conf.d/apache.conf

ingresso
file
percorso => ​​'/var/www/*/logs/access.registro'
digita => "apache"


filtro
grok
match => "messaggio" => "%COMBINEDAPACHELOG"


produzione
ricerca elastica

Ora assicurati di abilitare e avviare il servizio logstash.

sudo systemctl abilita logstash.servizio
sudo systemctl start logstash.servizio

Come abilitare e configurare Kibana?

Per abilitare Kibana, modifica il file principale .yml file di configurazione che si trova in /etc/kibana/kibana.yml. Individua le seguenti voci e decommentale. Una volta fatto, usa systemctl per avviare il servizio Kibana.

server.porta: 5601
server.host: "localhost"
sudo systemctl abilita kibana.service && sudo systemctl start kibana.servizio

Kibana crea modelli di indice basati sui dati elaborati. Quindi, è necessario raccogliere i registri utilizzando Logstash e archiviarli in Elasticsearch, che Kibana può utilizzare. Usa curl per generare log da Apache.

Una volta che hai i log di Apache, avvia Kibana nel tuo browser utilizzando l'indirizzo http://localhost:5601, che avvierà la pagina dell'indice di Kibana.

In linea di massima, è necessario configurare il modello di indice utilizzato da Kibana per cercare i log e generare report. Per impostazione predefinita, Kibana utilizza il modello di indice logstash*, che corrisponde a tutti gli indici predefiniti generati da Logstash.

Se non disponi di alcuna configurazione, fai clic su Crea per iniziare a visualizzare i registri.

Come visualizzare i log di Kibana?

Mentre continui a eseguire richieste Apache, Logstash raccoglierà i log e li aggiungerà a Elasticsearch. Puoi visualizzare questi log in Kibana facendo clic sull'opzione Scopri nel menu a sinistra.

La scheda Scopri ti consente di visualizzare i registri mentre il server li genera. Per visualizzare i dettagli di un registro, è sufficiente fare clic sul menu a discesa.

Leggere e comprendere i dati dai log di Apache.

Come cercare i log?

Nell'interfaccia di Kibana, troverai una barra di ricerca che ti consente di cercare dati utilizzando stringhe di query query.

Esempio: stato: attivo

Ulteriori informazioni sulle stringhe di query ELK qui:

https://www.elastico.co/guide/it/elasticsearch/reference/5.5/query-dsl-query-string-query.html#sintassi-stringa-query

Poiché abbiamo a che fare con i log di Apache, una possibile corrispondenza è un codice di stato. Quindi, cerca:

risposta: 200

Questo codice cercherà i registri con il codice di stato 200 (OK) e lo visualizzerà a Kibana.

Come visualizzare i log?

Puoi creare dashboard visive in Kibana selezionando la scheda Visualizza. Seleziona il tipo di dashboard da creare e seleziona il tuo indice di ricerca. È possibile utilizzare l'impostazione predefinita a scopo di test.

Conclusione

In questa guida, abbiamo discusso una panoramica su come utilizzare lo stack ELK per gestire i log. Tuttavia, c'è di più su queste tecnologie che questo articolo può trattare. Ti consigliamo di esplorare da solo.

Come installare e giocare a Doom su Linux
Introduzione a Doom La serie Doom è nata negli anni '90 dopo l'uscita dell'originale Doom. È stato un successo immediato e da quel momento in poi la s...
Vulkan per utenti Linux
Con ogni nuova generazione di schede grafiche, vediamo gli sviluppatori di giochi spingere i limiti della fedeltà grafica e avvicinarsi di un passo al...
OpenTTD vs Simutrans
Creare la tua simulazione di trasporto può essere divertente, rilassante ed estremamente allettante. Ecco perché devi assicurarti di provare quanti pi...