Visualizza i registri Apache con Elk Stack

Visualizza i registri Apache con Elk Stack

Il monitoraggio e l'analisi dei registri per varie infrastrutture in tempo reale possono essere un lavoro molto noioso. Quando si tratta di servizi come 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 registri in tempo reale può aiutarti a tracciare e risolvere i problemi e monitorare le attività sospette del sistema.

Questo tutorial discuterà di come è possibile utilizzare una delle migliori raccolte di registri in tempo reale e di analisi degli strumenti: ELK. Utilizzando ELK, comunemente noto come Elasticsearch, Logstash e Kibana, è possibile 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.

Elasticsearch è uno strumento open source sviluppato per trovare corrispondenze all'interno di una vasta 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 Il motore è un collegamento tra il lato server ed Elasticsearch, che consente di raccogliere dati da una selezione di fonti a Elasticsearch. Offre potenti API integrabili con applicazioni sviluppate in vari linguaggi di programmazione con facilità.

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

Elk Stack è molto potente e può fare cose incredibili di analisi dei dati.

Sebbene i vari concetti che discuteremo in questo tutorial ti darà una buona comprensione dello stack degli alci, considera la documentazione per ulteriori informazioni.

Elasticsearch: https: // linkfy.a/elasticsearch-reference

Logstash: https: // linkfy.a/logstashreference

Kibana: https: // linkfy.a/kibanaguide

Come installare Apache?

Prima di iniziare a installare Apache e 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, hai bisogno di sudo o autorizzazioni.

La compatibilità e l'usabilità di Elk Stack può variare a seconda delle versioni.

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

Sudo Apt-get Aggiornamento
SUDO APT-OPGRADO

Il comando successivo è installare il server Web Apache2. Se si desidera installare un Apache minimo, rimuovere la documentazione e le utility dal comando seguente.

sudo apt-get Installa Apache2 Apache2-Utils Apache2-Doc -y
SUD SERVIZIO APACHE2 Avvia

Ormai dovresti avere un server Apache in esecuzione sul tuo sistema.

Come installare ElasticSearch, Logstash e Kibana?

Ora dobbiamo installare lo stack di Elk. Installeremo ogni strumento individualmente.

Elasticsearch

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

https: // www.elastico.CO/Downloads/Elasticsearch

ElasticSearch richiede a Java di funzionare. Fortunatamente, l'ultima versione viene in bundle con un pacchetto OpenJDK, rimuovendo la seccatura di installarlo manualmente. Se è necessario eseguire un'installazione manuale, consultare la seguente risorsa:

https: // www.elastico.CO/GUIDA/EN/ELASTICHEARCH/RIFERIMENTO/CORRENTE/IMPOSTAZIONE.HTML#JVM-WiRion

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

Wget -qo - https: // artefatti.elastico.CO/GPG-KEY-ELASTICEARCH | sudo Apt-Key Aggiungi -

Prima di procedere, è possibile richiedere un pacchetto APT-Transport-Https (richiesto per i pacchetti serviti su HTTPS) prima di procedere con l'installazione.

sudo apt-get installa apt-transport-https

Ora, aggiungi le informazioni APT Repo alle fonti.elenco.file d.

Echo “Deb https: // artefatti.elastico.CO/Pacchetti/7.X/APT Stable Main ”| sudo tee/etc/apt/fonti.elenco.d/elastic-7.X.elenco

Quindi aggiorna l'elenco dei pacchetti sul tuo sistema.

Sudo Apt-get Aggiornamento

Installa ElaSticSearch utilizzando il comando qui sotto:

sudo apt-get installa elasticarch

Avendo installato ElaSticSearch, avvia e abilita un avvio con i comandi SystemCtl:

sudo systemctl demone-ricarica
sudo systemctl abilita elasticsearch.servizio
sudo systemctl avvia elasticsearch

Il servizio potrebbe richiedere un po 'di tempo per iniziare. Attendi qualche minuto e conferma che il servizio è attivo e in esecuzione con il comando:

sudo systemctl status elasticsearch.servizio

Utilizzando Curl, test se è disponibile l'API ElasticSearch, come mostrato nell'output JSON di seguito:

Curl -x Ottieni "LocalHost: 9200/?bello"

"Nome": "Debian",
"cluster_name": "Elasticsearch",
"cluster_uuid": "Vzhcuqssko1ryhqmdwsg",
"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,
"Lucene_Version": "8.7.0 ",
"MINIMINE_WIRE_COMPATILIBILITÀ_VERSION": 6.8.0 ",
"MINIMINE_INDEX_COMPATILIBILITÀ_VERSION": "6.0.0-beta1 "
,
"Slogan": "Sai, per la ricerca"

Come installare Logstash?

Installa il pacchetto Logstash utilizzando il comando:

sudo apt-get install logstash

Come installare kibana?

Immettere il comando in basso per installare kibana:

sudo apt-get installa kibana

Come configurare Elasticsearch, Logstash e Kibana?

Ecco come configurare lo stack di Elk:

Come configurare Elasticsearch?

In Elasticsearch, i dati vengono ordinati negli indici. Ognuno di questi indici ha uno o più frammenti. Un frammento è 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 frammenti e una replica per ogni indice. Questo è un buon meccanismo durante la 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 frammenti su repliche una e zero per i nomi degli indici corrispondenti (scopi di sviluppo).

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

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


"modello":"*",
"impostazioni":
"indice":
"numero_of_shards": 1,
"Number_of_Replicas": 0


Utilizzando Curl, applicare la configurazione JSON sul modello, che verrà applicata a tutti gli indici creati.

CURL -X PUT HTTP: // LocalHost: 9200/_Template/Defaults -H 'Content -Type: Application/Json' -D @Index_Template.JSON
"riconosciuto": true

Una volta applicato, Elasticsearch risponderà con una dichiarazione riconosciuta: vera.

Come configurare Logstash?

Affinché Logstash possa raccogliere i registri da Apache, dobbiamo configurarlo per guardare eventuali modifiche nei registri raccogliendo, elaborando, quindi salvando i registri su ElaSticSearch. Affinché 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

Input
file
Path => '/var/www/*/logs/access.tronco d'albero'
type => "apache"


filtro
Grok
Match => "Message" => "%CombineDApacheLog"


produzione
Elasticsearch

Ora assicurati di abilitare e avviare il servizio Logstash.

sudo systemctl abilita logstash.servizio
sudo systemctl avvia logstash.servizio

Come abilitare e configurare Kibana?

Per abilitare il kibana, modificare il principale .File di configurazione YML situato in/etc/kibana/kibana.YML. Individua le seguenti voci e le regigi. Una volta fatto, utilizzare SystemCtl per avviare il servizio Kibana.

server.Porta: 5601
server.Ospite: "Localhost"
sudo systemctl abilita kibana.Service && sudo systemctl avvia kibana.servizio

Kibana crea modelli di indice in base ai dati elaborati. Quindi, è necessario raccogliere registri usando Logstash e archiviarli in Elasticsearch, che Kibana può usare. Usa Curl per generare registri da Apache.

Una volta che hai dei registri da Apache, avvia Kibana nel browser usando l'indirizzo http: // localhost: 5601, che lancerà la pagina dell'indice Kibana.

In main, è necessario configurare il modello di indice utilizzato da Kibana per cercare i registri 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 si dispone di alcuna configurazione, fare clic su Crea per iniziare a visualizzare i registri.

Come visualizzare i registri di kibana?

Mentre continui a eseguire le richieste di Apache, Logstash raccoglierà i registri e li aggiungerà a ElaSticSearch. È possibile visualizzare questi registri in kibana facendo clic sull'opzione Discover nel menu a sinistra.

La scheda Discover ti consente di visualizzare i registri mentre il server li genera. Per visualizzare i dettagli di un registro, fai semplicemente clic sul menu a discesa.

Leggere e comprendere i dati dai registri Apache.

Come cercare i registri?

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

Esempio: stato: attivo

Scopri di più sulle corde di query di alci qui:

https: // www.elastico.CO/GUIDA/EN/ELASTICHEARCH/RIFERIMENTO/5.5/query-dsl-query-string-query.HTML#query-string-syntice

Dal momento che abbiamo a che fare con i registri Apache, una possibile corrispondenza è un codice di stato. Quindi, cerca:

Risposta: 200

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

Come visualizzare i registri?

È possibile creare dashboard visivi in ​​kibana selezionando la scheda Visualizza. Seleziona il tipo di dashboard per creare e selezionare l'indice di ricerca. È possibile utilizzare il valore predefinito per scopi di test.

Conclusione

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