GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare ELK Stack (Elasticsearch, Logstash e Kibana) su Ubuntu 18.04 / 20.04

Introduzione

Lo stack ELK è un insieme di applicazioni per il recupero e la gestione dei file di registro.

È una raccolta di tre strumenti open source, Elasticsearch , Kibana e Logstash . Lo stack può essere ulteriormente aggiornato con Beats , un plug-in leggero per l'aggregazione di dati da diversi flussi di dati.

In questo tutorial, scopri come installare lo stack software ELK su Ubuntu 18.04 / 20.04.

Prerequisiti

  • Un sistema Linux con Ubuntu 20.04 o 18.04
  • Accesso a una finestra di terminale/riga di comando (Cerca > Terminale )
  • Un account utente con sudo o root privilegi
  • Java versione 8 o 11 (necessaria per Logstash)

Passaggio 1:installa le dipendenze

Installa Java

Lo stack ELK richiede l'installazione di Java 8. Alcuni componenti sono compatibili con Java 9, ma non Logstash.

Se hai già installato Java 8, passa a Installa Nginx.

1. Se non hai installato Java 8, installalo aprendo una finestra del terminale e inserendo quanto segue:

sudo apt-get install openjdk-8-jdk

2. Se richiesto, digita y e premi Invio affinché il processo finisca.

Installa Nginx

Nginx funziona come un server web e un server proxy. Viene utilizzato per configurare l'accesso controllato da password alla dashboard di Kibana.

1. Installa Nginx inserendo quanto segue:

sudo apt-get install nginx

2. Se richiesto, digita y e premi Invio affinché il processo finisca.

Passaggio 2:aggiungi il repository elastico

I repository elastici consentono l'accesso a tutto il software open source nello stack ELK. Per aggiungerli, inizia importando la chiave GPG.

1. Immettere quanto segue in una finestra di terminale per importare la chiave PGP per Elastic:

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

2. Il sistema dovrebbe rispondere con OK , come si vede nell'immagine qui sotto.


3. Quindi, installa apt-transport-https pacchetto:

sudo apt-get install apt-transport-https

4. Aggiungi il repository Elastic all'elenco dei repository del tuo sistema:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee –a /etc/apt/sources.list.d/elastic-7.x.list

Fase 3:installa Elasticsearch

1. Prima di installare Elasticsearch, aggiorna i repository inserendo:

sudo apt-get update

2. Installa Elasticsearch con il seguente comando:

sudo apt-get install elasticsearch

Configura Elasticsearch

1. Elasticsearch utilizza un file di configurazione per controllare come si comporta. Apri il file di configurazione per la modifica in un editor di testo a tua scelta. Useremo nano:

sudo nano /etc/elasticsearch/elasticsearch.yml

2. Dovresti vedere un file di configurazione con diverse voci e descrizioni. Scorri verso il basso per trovare le seguenti voci:

#network.host: 192.168.0.1
#http.port: 9200

3. Decommenta le righe eliminando l'hash (# ) firmare all'inizio di entrambe le righe e sostituisci 192.168.0.1 con localhost .

Dovrebbe leggere:

network.host: localhost
http.port: 9200

4. Appena sotto, trova la Discovery sezione. Stiamo aggiungendo un'altra riga, mentre stiamo configurando un cluster di nodo singolo:

discovery.type: single-node

Per ulteriori dettagli, vedere l'immagine qui sotto.

5. Per impostazione predefinita, dimensione heap JVM è fissato a 1 GB. Ti consigliamo di impostarlo a non più della metà della dimensione della tua memoria totale. Apri il seguente file per la modifica:

sudo nano /etc/elasticsearch/jvm.options

6. Trova le righe che iniziano con -Xms e -Xmx . Nell'esempio seguente, il massimo (-Xmx ) e minimo (-Xms ) è impostata su 512 MB.

Avvia Elasticsearch

1. Avvia il servizio Elasticsearch eseguendo un systemctl comando:

sudo systemctl start elasticsearch.service

L'avvio del servizio da parte del sistema potrebbe richiedere del tempo. Non ci sarà alcun output in caso di successo.

2. Abilita Elasticsearch per l'avvio all'avvio:

sudo systemctl enable elasticsearch.service

Testa Elasticsearch

Usa il curl comando per testare la tua configurazione. Immettere quanto segue:

curl -X GET "localhost:9200"

Dovrebbe essere visualizzato il nome del tuo sistema e elasticsearch per il nome del cluster. Ciò indica che Elasticsearch è funzionante ed è in ascolto sulla porta 9200 .

Fase 4:installa Kibana

Si consiglia di installare successivamente Kibana. Kibana è un'interfaccia utente grafica per l'analisi e l'interpretazione dei file di registro raccolti.

1. Esegui il seguente comando per installare Kibana:

sudo apt-get install kibana

2. Consenti al processo di terminare. Una volta terminato, è il momento di configurare Kibana.

Configura Kibana

1. Quindi, apri kibana.yml file di configurazione per la modifica:

sudo nano /etc/kibana/kibana.yml

2. Elimina il # firmare all'inizio delle seguenti righe per attivarle:

#server.port: 5601
#server.host: "your-hostname"
#elasticsearch.hosts: ["http://localhost:9200"]

Le righe sopra menzionate dovrebbero apparire come segue:

server.port: 5601
server.host: "localhost"
elasticsearch.hosts: ["http://localhost:9200"]

3. Salva il file (Ctrl+o ) ed esci (Ctrl+ x ).

Avvia e abilita Kibana

1. Avvia il servizio Kibana:

sudo systemctl start kibana

Non viene visualizzato alcun output se il servizio viene avviato correttamente.

2. Quindi, configura Kibana per l'avvio all'avvio:

sudo systemctl enable kibana

Consenti traffico sulla porta 5601

Se il firewall UFW è abilitato sul tuo sistema Ubuntu, devi consentire il traffico sulla porta 5601 per accedere alla dashboard di Kibana.

In una finestra di terminale, esegui il seguente comando:

sudo ufw allow 5601/tcp

Dovrebbe essere visualizzato il seguente output:

Prova Kibana

Per accedere a Kibana, apri un browser web e vai al seguente indirizzo:

http://localhost:5601

La dashboard di Kibana viene caricata.

Se ricevi un "Server Kibana non ancora pronto" errore, controlla se i servizi Elasticsearch e Kibana sono attivi.

Passaggio 5:installa Logstash

Logstash è uno strumento che raccoglie dati da diverse fonti. I dati che raccoglie vengono analizzati da Kibana e archiviati in Elasticsearch.

Installa Logstash eseguendo il comando seguente:

sudo apt-get install logstash

Avvia e abilita Logstash

1. Avvia il servizio Logstash:

sudo systemctl start logstash

2. Abilita il servizio Logstash:

sudo systemctl enable logstash

3. Per verificare lo stato del servizio, eseguire il comando seguente:

sudo systemctl status logstash

Configura Logstash

Logstash è una parte altamente personalizzabile dello stack ELK. Una volta installato, configura il suo INPUT , FILTRI e USCITA pipeline in base al tuo caso d'uso individuale.

Tutti i file di configurazione Logstash personalizzati sono archiviati in /etc/logstash/conf.d/ .

Fase 6:installa Filebeat

Filebeat è un plug-in leggero utilizzato per raccogliere e spedire file di registro. È il modulo Beats più comunemente usato. Uno dei principali vantaggi di Filebeat è che rallenta il suo ritmo se il servizio Logstash è sovraccaricato di dati.

Installa Filebeat eseguendo il comando seguente:

sudo apt-get install filebeat

Completa l'installazione.

Configura Filebeat

Filebeat, per impostazione predefinita, invia i dati a Elasticsearch. Filebeat può anche essere configurato per inviare i dati degli eventi a Logstash.

1. Per configurarlo, modifica il filebeat.yml file di configurazione:

sudo nano /etc/filebeat/filebeat.yml

2. Sotto Ricerca elastica ooutput sezione, commenta le seguenti righe:

# output.elasticsearch:
   # Array of hosts to connect to.
   # hosts: ["localhost:9200"]

3. Sotto l'output Logstash sezione, rimuovi il segno cancelletto (# ) nelle due righe seguenti:

# output.logstash
     # hosts: ["localhost:5044"]

Dovrebbe assomigliare a questo:

output.logstash
     hosts: ["localhost:5044"]

Per ulteriori dettagli, vedere l'immagine qui sotto.

4. Quindi, abilita il Filebeat system modulo, che esaminerà i log di sistema locali:

sudo filebeat modules enable system

L'output dovrebbe leggere Enabled system .

5. Quindi, carica il modello di indice:

sudo filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'

Il sistema eseguirà un po' di lavoro, scansionando il tuo sistema e collegandosi alla dashboard di Kibana.

Avvia e abilita Filebeat

Avvia e abilita il servizio Filebeat:

sudo systemctl start filebeat
sudo systemctl enable filebeat

Verifica la ricezione dei dati da Elasticsearch

Infine, verifica se Filebeat sta inviando i file di registro a Logstash per l'elaborazione. Una volta elaborati, i dati vengono inviati a Elasticsearch.

curl -XGET http://localhost:9200/_cat/indices?v

Ubuntu
  1. Come installare Elasticsearch, Logstash e Kibana (ELK Stack) su CentOS 8

  2. Come installare lo stack elastico (Elasticsearch, Logstash e Kibana) su CentOS 8

  3. Come installare Elasticsearch, Logstash e Kibana 4 su Ubuntu 14.04 / 15.04

  4. Come installare ELK Stack su Ubuntu 16.04

  5. Installa Elasticsearch, Logstash e Kibana su Ubuntu 20.04

Come installare ELK Stack su CentOS 8

Come installare ELK Stack su Ubuntu 18.04 LTS

Come installare ELK Stack su Ubuntu 20.04 LTS

Come installare Elasticsearch Logstash Kibana (stack elastico) su Ubuntu 18.04

Come installare ELK Stack su Debian 8

Come installare ELK Stack su Ubuntu 20.04