Lo stack ELK è costituito da un insieme di applicazioni per il recupero e la gestione dei file di registro. Nel settore dello sviluppo software, i file di registro svolgono un ruolo fondamentale per identificare il problema e risolverlo. Lo stack ELK è una raccolta di diversi strumenti applicativi open source come Elasticsearch , Kibana, e Logstash . ELK può essere utilizzato per raccogliere, cercare e visualizzare i registri generati da qualsiasi fonte in qualsiasi modello utilizzando una query. In questo articolo impareremo come installare e configurare lo stack ELK su Ubuntu e Debian.
Prerequisiti:
- Server Ubuntu 20.04 o Debian 10 fresco
- Account privilegiato root
- Corretta connessione Internet
Installa Java
L'installazione dello stack ELK richiede un ambiente Java. Esegui il comando seguente per installare java su Ubuntu/Debian
$ sudo apt install openjdk-8-jdk
Verifica l'installazione controllando la versione java
$ java -version
Uscita:
Installa e configura Elasticsearch
Una volta installato java, ora è il momento di installare e configurare Elasticsearch. Poiché i pacchetti Elasticsearch non sono disponibili per impostazione predefinita su Ubuntu/Debian, è necessario aggiungere il repository apt di elasticsearch. Esegui il comando seguente per aggiungere la chiave del repository GPG.
$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Ora crea il file del repository usando il comando.
$ echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
Una volta creato il file del repository, è possibile installare elasticsearch utilizzando il comando.
$ sudo apt update
$ sudo apt install elasticsearch
Il file di configurazione predefinito di elasticsearch si trova in /etc/elasticsearch/elasticsearch.yml . Usa qualsiasi editor di testo e decommenta le righe:
network.host: localhost
http.port: 9200
Avvia e abilita elasticsearch
$ sudo systemctl start elasticsearch
$ sudo systemctl enable elasticsearch
Esegui il comando seguente per visualizzare lo stato e i dettagli di Elasticsearch
$ curl -X GET "localhost:9200"
Uscita:
Installa e configura Logstash
Il pacchetto Logstash è disponibile per impostazione predefinita nei sistemi Ubuntu/Debian. Esegui il comando seguente per installare.
$ sudo apt install logstash
Avvia e abilita il servizio
$ sudo systemctl start logstash
$ sudo systemctl enable logstash
Verifica il servizio utilizzando il comando
$ systemctl status logstash
La directory di configurazione predefinita di logstash è /etc/logstash/conf.d/ . Una volta completata l'installazione, INPUT , FILTRO e USCITA le pipeline possono essere configurate in base ai casi d'uso richiesti.
Installa e configura Kibana
Kibana è uno strumento GUI basato sul Web utilizzato per analizzare e analizzare i registri raccolti. Kibana è disponibile nel repository predefinito di Ubuntu/Debian. Esegui il comando seguente per installare il pacchetto.
$ sudo apt install kibana
Per configurare kibana, vai alla directory di configurazione predefinita e decommenta le seguenti righe
$ sudo vim /etc/kibana/kibana.yml
server.port: 5601 server.host: "localhost" elasticsearch.hosts: ["http://localhost:9200"]
Avvia e abilita il servizio
$ sudo systemctl start kibana
$ sudo systemctl enable kibana
Consenti la porta kibana nel firewall
$ sudo ufw allow 5601/tcp
Ora accedi alla dashboard di Kibana utilizzando l'URL http://localhost:5601
Installa e configura filebeat
Filebeat viene utilizzato per inviare i log a elasticsearch e logstash per l'analisi. Filebeat è disponibile per impostazione predefinita nel repository Ubuntu/Debian. Esegui il comando seguente per installare.
$ sudo apt install filebeat -y
Per configurare il filebeat, vai alla directory di configurazione predefinita e commenta quanto segue.
$ sudo vim /etc/filebeat/filebeat.yml
# output.elasticsearch: # Array of hosts to connect to . # hosts: ["localhost:9200"]
Decommenta la riga seguente e salva il file
output.logstash: hosts: [“localhost:5044”]
Nel passaggio successivo, abilita il modulo di sistema filebeat
$ sudo filebeat modules enable system
Ora esegui il seguente comando per caricare il modello di indice
$ sudo filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'
Avvia e abilita il servizio Filebeat
$ sudo systemctl start filebeat
$ sudo systemctl enable filebeat
Controlla lo stato
$ sudo systemctl status filebeat
Conclusione
In questo articolo, ho spiegato come installare e configurare lo stack ELK su Debian/Ubuntu nel modo corretto. Inoltre, abbiamo imparato come utilizzare diversi componenti come Kibana, Logstash e Kibana per analizzare e visualizzare i registri da qualsiasi fonte.