Introduzione
Lo stack ELK è un gruppo di pacchetti software open source utilizzati per gestire i log. Viene in genere utilizzato per i log del server, ma è anche flessibile (elastico) per qualsiasi progetto che genera insiemi di dati di grandi dimensioni.
Questa guida mostra come installare lo stack ELK (Elasticsearch, Logstash e Kibana) sul server CentOS 8.
Prerequisiti
- Un sistema con CentOS 8 installato
- 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)
Che cosa significa ELK Stack?
ELK sta per Elasticsearch, Logstash e Kibana. Sono i tre componenti dello stack ELK.
Ricerca elastica (indicizza i dati) – Questo è il cuore del software Elastic. Elasticsearch è un motore di ricerca e analisi utilizzato per ordinare i dati.
Archiviazione (raccoglie i dati) – Questo pacchetto si connette a varie origini dati, lo raccoglie e lo indirizza alla memoria. Come suggerisce il nome, raccoglie e "ripone" i tuoi file di registro.
Kibana (visualizza i dati) – Kibana è uno strumento grafico per la visualizzazione dei dati. Usalo per generare grafici e grafici per dare un senso ai dati grezzi nei tuoi database.
Passaggio 1:installa OpenJDK 8 Java
Se hai già Java 8 (o 11) installato sul tuo sistema, puoi saltare questo passaggio.
Altrimenti, apri una finestra di terminale e inserisci quanto segue:
sudo yum install java-1.8.0-openjdk
Il sistema controllerà i repository, quindi ti chiederà di confermare l'installazione. Digita Y
quindi Invio . Consenti il completamento del processo.
Fase 2:aggiungi i repository Elasticsearch
Lo stack ELK può essere scaricato e installato utilizzando il gestore di pacchetti YUM. Tuttavia, il software non è incluso nei repository predefiniti.
Importa la chiave PGP di Elasticsearch
Apri una finestra del terminale, quindi inserisci il seguente codice:
sudo rpm ––import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Questo aggiungerà la chiave di firma pubblica di Elasticsearch al tuo sistema. Questa chiave convaliderà il software Elasticsearch quando lo scarichi.
Aggiungi il repository RPM di Elasticsearch
Devi creare il file di configurazione del repository in /etc/yum.repos.d/ . Inizia spostandoti nella directory:
cd /etc/yum.repos.d/
Quindi, crea il file di configurazione in un editor di testo a tua scelta (stiamo usando Vim):
sudo vim elasticsearch.repo
Digita o copia le seguenti righe:
[elasticstack]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
Se usi Vim, premi Esc quindi digita :wq
e premi Invio .
Infine, aggiorna gli elenchi dei pacchetti dei tuoi repository:
dnf update
Fase 3:installa e configura Elasticsearch
L'ordine di installazione è importante. Inizia installando Elasticsearch.
In una finestra di terminale, digita il comando:
sudo dnf install elasticsearch
Questo eseguirà la scansione di tutti i tuoi repository per il pacchetto Elasticsearch.
Il sistema calcolerà la dimensione del download, quindi ti chiederà di confermare l'installazione. Digita Y
quindi Invio .
Configura Elasticsearch
Al termine dell'installazione, apri e modifica il /etc/elasticsearch/elasticsearch.yml
file di configurazione utilizzando un editor di testo:
sudo vim /etc/elasticsearch/elasticsearch.yml
Scorri verso il basso fino alla sezione denominata NETWORK
. Sotto quella voce, dovresti vedere le seguenti righe:
# Set the bind address to a specific IP (IPv4 or IPv6):
#
#network.host: 192.168.0.1
#
# Set a custom port for HTTP:
#
#http.port: 9200
Modifica il network.host
all'indirizzo IP del tuo server o impostalo su localhost se stai configurando un singolo nodo in locale. Modifica il http.port
anche.
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: localhost
#
# Set a custom port for HTTP:
#
http.port: 9200
Per ulteriori dettagli, vedere l'immagine qui sotto:
Se usi Vim, premi ESC
, digita :wq
e premi Enter
per salvare le modifiche ed uscire.
Avvia Elasticsearch
Riavvia il sistema per rendere effettive le modifiche:
sudo reboot
Una volta riavviato il sistema, avvia la ricerca elastica servizio:
sudo systemctl start elasticsearch
Non ci sarà output se il comando è stato eseguito correttamente.
Ora, imposta il servizio per l'avvio all'avvio:
sudo systemctl enable elasticsearch
Testa Elasticsearch
Testare il software per assicurarsi che risponda a una connessione:
curl -X GET "localhost:9200"
Il sistema dovrebbe visualizzare un intero elenco di informazioni. Nella seconda riga, dovresti vedere che il cluster_name
è impostato su elasticsearch
. Ciò conferma che Elasticsearch è in esecuzione e in ascolto su Porta 9200 .
Fase 4:installa e configura Kibana
Kibana è un'interfaccia grafica per l'analisi e l'interpretazione dei file di registro.
Kibana utilizza la stessa chiave GPG di Elasticsearch, quindi non è necessario reimportare la chiave. Inoltre, il pacchetto Kibana si trova nello stesso repository dello stack ELK di Elasticsearch. Quindi, non è necessario creare un altro file di configurazione del repository.
Per installare Kibanra, apri una finestra di terminale, inserisci quanto segue:
sudo dnf install kibana
Il sistema eseguirà la scansione dei repository, quindi chiederà conferma. Digita y
quindi Invio e lascia che il processo finisca.
Configura Kibana
Come Elasticsearch, dovrai modificare il .yml file di configurazione per Kibana.
Apri il kibana.yml file da modificare:
sudo vim /etc/kibana/kibana.yml
Trova le seguenti righe e rimuovi il # segno dall'inizio della riga:
#server.port: 5601
#server.host: "localhost"
#elasticsearch.hosts: ["http://localhost:9200"]
Le linee ora dovrebbero apparire come segue:
server.port: 5601
server.host: "localhost"
elasticsearch.hosts: ["http://localhost:9200"]
Per ulteriori dettagli, vedere l'immagine qui sotto.
Per assegnare un nome personalizzato, modifica il server.name
linea.
Apporta tutte le altre modifiche desiderate. Salva il file ed esci (premi Esc , digita :wq
e premi Invio ).
Avvia e abilita Kibana
Quindi, avvia e abilita il servizio Kibana:
sudo systemctl start kibana
sudo systemctl enable kibana
Consenti traffico sulla porta 5601
Se firewalld è abilitato sul tuo sistema CentOS, devi consentire il traffico sulla porta 5601 . In una finestra di terminale, esegui il seguente comando:
firewall-cmd --add-port=5601/tcp --permanent
Quindi, ricarica il servizio firewalld:
firewall-cmd --reload
L'azione sopra è un prerequisito se intendi accedere alla dashboard di Kibana da macchine esterne.
Prova Kibana
Apri un browser web e inserisci il seguente indirizzo:
http://localhost:5601
Il sistema dovrebbe iniziare a caricare la dashboard di Kibana.
Fase 5:installa e configura Logstash
Logstash è uno strumento che raccoglie dati da diverse fonti. I dati che raccoglie vengono analizzati da Kibana e archiviati in Elasticsearch.
Come altre parti dello stack ELK, Logstash utilizza la stessa chiave GPG elastica e lo stesso repository.
Per installare logstash su CentOS 8, in una finestra di terminale inserisci il comando:
sudo dnf install logstash
Digita Y
e premi Invio per confermare l'installazione.
Configura Logstash
Archivia tutti i file di configurazione personalizzati in /etc/logstash/conf.d/ directory. La configurazione dipende in gran parte dal tuo caso d'uso e dai plugin utilizzati.
Per esempi di configurazioni personalizzate, fare riferimento a Esempi di configurazione Logstash.
Avvia Logstash
Avvia e abilita il servizio Logstash:
sudo systemctl start logstash
sudo systemctl enable logstash
Ora dovresti avere un'installazione funzionante di Elasticsearch, insieme alla dashboard di Kibana e alla pipeline di raccolta dati di Logstash.
Fase 6:installa Filebeat
Per semplificare la registrazione, installa un modulo leggero chiamato Filebeat . Filebeat è uno spedizioniere di log che centralizza lo streaming dei dati.
Per installare Filebeat, apri una finestra di terminale ed esegui il comando:
sudo yum install filebeat
Quindi, aggiungi il sistema modulo, che esaminerà i log di sistema locali:
sudo filebeat modules enable system
Quindi, esegui l'installazione di Filebeat:
sudo filebeat setup
Il sistema eseguirà un po' di lavoro, scansionando il tuo sistema e collegandosi alla dashboard di Kibana.
Avvia il servizio Filebeat:
sudo service filebeat start
Avvia la tua dashboard Kibana in un browser visitando il seguente indirizzo:
http://localhost:5601
Nella colonna di sinistra, fai clic su Registri scheda. Trova e fai clic su Trasmetti in diretta collegamento. Ora dovresti vedere un flusso di dati in tempo reale per i tuoi file di registro locali.