Lo stack ELK è l'acronimo di tre popolari progetti open source:Elasticsearch, Logstash e Kibana. È una piattaforma open source di gestione dei registri tra le più popolari che raccoglie, elabora e visualizza i dati da più origini dati. Viene utilizzato principalmente per l'analisi dei registri negli ambienti IT. È molto utile per un amministratore di sistema cercare e analizzare un grande volume di dati per prendere decisioni in tempo reale, sempre.
Elasticsearch:è un motore di ricerca utilizzato per archiviare tutti i dati raccolti.
Kibana:fornisce un'interfaccia basata sul Web utilizzata per cercare e visualizzare i dati.
Logstash:è un'interfaccia di elaborazione dati utilizzata per raccogliere dati da più fonti contemporaneamente, invia i dati alla scorta desiderata.
In questo tutorial spiegheremo come installare e configurare lo stack ELK sul server Ubuntu 20.04.
Prerequisiti
- Un VPS Ubuntu 20.04 (useremo il nostro piano di hosting VPS NVMe 8)
- Accesso all'account utente root (o accesso a un account amministratore con privilegi root)
Accedi al server e aggiorna i pacchetti del sistema operativo del server
Innanzitutto, accedi al tuo server Ubuntu 20.04 tramite SSH come utente root:
ssh root@IP_Address -p Port_number
Dovrai sostituire "Indirizzo_IP" e "Numero_porta" con il rispettivo indirizzo IP e numero di porta SSH del tuo server. Inoltre, se necessario, sostituisci "root" con il nome utente dell'account amministratore.
Prima di iniziare, devi assicurarti che tutti i pacchetti del sistema operativo Ubuntu installati sul server siano aggiornati. Puoi farlo eseguendo i seguenti comandi:
apt-get update -y apt-get upgrade -y
Installa le dipendenze richieste
Prima di iniziare, dovrai installare Java e altre dipendenze richieste nel tuo server. Puoi installarli tutti usando il seguente comando:
apt-get install openjdk-11-jdk wget apt-transport-https curl gnupg2 -y
Una volta installati tutti i pacchetti, verifica la versione installata di Java con il seguente comando:
java -version
Dovresti ottenere il seguente output:
openjdk version "11.0.9.1" 2020-11-04 OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04) OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
Installa Elasticsearch
Per impostazione predefinita, Elasticsearch non è disponibile nel repository standard di Ubuntu. Quindi dovrai aggiungere il repository Elasticsearch al tuo sistema.
Innanzitutto, aggiungi la chiave di firma di Elasticsearch con il seguente comando:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
Successivamente, aggiungi il repository con il seguente comando:
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list
Una volta aggiunto il repository, aggiorna il repository e installa il pacchetto Elasticsearch con il seguente comando:
apt-get update -y apt-get install elasticsearch -y
Una volta installato Elasticsearch, avvia il servizio Elasticsearch e abilitalo all'avvio al riavvio del sistema:
systemctl start elasticsearch systemctl enable elasticsearch
A questo punto Elasticsearch viene avviato e rimane in ascolto sulla porta 9200. Puoi verificarlo con il seguente comando:
ss -antpl | grep 9200
Dovresti ottenere il seguente output:
LISTEN 0 4096 [::ffff:127.0.0.1]:9200 *:* users:(("java",pid=27757,fd=257)) LISTEN 0 4096 [::1]:9200 [::]:* users:(("java",pid=27757,fd=256))
Puoi anche controllare Elasticsearch inviando una richiesta HTTP:
curl -X GET http://localhost:9200
Dovresti ottenere il seguente output:
{ "name" : "ubuntu2004", "cluster_name" : "elasticsearch", "cluster_uuid" : "LhG8-a_eQHyyoRAlQQXBTQ", "version" : { "number" : "7.10.0", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "51e9d6f22758d0374a0f3f5c6e8f3a7997850f96", "build_date" : "2020-11-09T21:30:33.964949Z", "build_snapshot" : false, "lucene_version" : "8.7.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
Installa e configura Logstash
Logstash è un software di analisi dei log utilizzato per raccogliere i log e archiviarli su Elasticsearch. Puoi installarlo facilmente con il seguente comando:
apt-get install logstash -y
Una volta installato Logstash, dovrai configurare i plug-in di input, filtro e output. Puoi configurarlo creando un nuovo file di configurazione all'interno della directory /etc/logstash/conf.d/:
nano /etc/logstash/conf.d/logstash.conf
Aggiungi le seguenti righe:
#Specify listening port for incoming logs from the beats input { beats { port => 5044 } } # Used to parse syslog messages and send it to Elasticsearch for storing filter { if [type] == "syslog" { grok { match => { "message" => "%{SYSLOGLINE}" } } date { match => [ "timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ] } } } # Specify an Elastisearch instance output { elasticsearch { hosts => ["localhost:9200"] index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" } }
Salva e chiudi il file, quindi avvia Logstash e abilitalo all'avvio al riavvio del sistema.
systemctl start logstash systemctl enable logstash
Installa e configura Kibana
Kibana visualizza i dati archiviati su Elasticsearch attraverso un'interfaccia basata sul web. Puoi installarlo con il seguente comando:
apt-get install kibana -y
Per impostazione predefinita, Kibana è in ascolto su localhost. Quindi dovrai configurarlo per l'accesso esterno. Puoi configurarlo modificando il file /etc/kibana/kibana.yml:
nano /etc/kibana/kibana.yml
Modifica le seguenti righe:
server.host: "your-server-ip" elasticsearch.hosts: ["http://localhost:9200"]
Salva e chiudi il file, quindi avvia il servizio Kibana e abilitalo all'avvio al riavvio del sistema:
systemctl start kibana systemctl enable kibana
Installa e configura Filebeat
Filebeat viene utilizzato per inviare i log a Logstash o Elasticsearch per l'analisi. In questa sezione installeremo Filebeat e lo configureremo per inviare i log al Logstash.
Puoi installarlo con il seguente comando:
apt-get install filebeat -y
Una volta installato, modifica il file di configurazione principale di Filebeat e configuralo per inviare i log al Logstash.
nano /etc/filebeat/filebeat.yml
Commenta le seguenti righe:
#output.elasticsearch: # Array of hosts to connect to. # hosts: ["localhost:9200"]
Decommenta le seguenti righe:
output.logstash: hosts: ["localhost:5044"]
Salva e chiudi il file, quindi avvia il servizio Filebeat e abilitalo all'avvio al riavvio del sistema:
systemctl start filebeat systemctl enable filebeat
Quindi, abilita il modulo di sistema Filebeat, che esaminerà i registri di sistema locali:
filebeat modules enable system
Quindi, carica il modello di indice con il seguente comando:
filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'
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
Dovresti ottenere il seguente output:
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size yellow open filebeat-7.10.0-2020.12.06-000001 hkQTgSbhSKqwYV-L6Dirtg 1 1 0 0 208b 208b green open .apm-custom-link GZekuSDGSh2h3cyaUh-Kuw 1 0 0 0 208b 208b green open .kibana_task_manager_1 wsc1qi8-S6W7xiU6Gb8IUA 1 0 5 23 125.3kb 125.3kb green open .apm-agent-configuration OQ0CeuK0R7mXtevKccGjlQ 1 0 0 0 208b 208b green open .kibana-event-log-7.10.0-000001 qt1r0hCbRb6-vYd5UsJVGA 1 0 2 0 11kb 11kb green open .kibana_1 s7LrkbyERnSezRhyJf-GLw 1 0 9 0 10.3mb 10.3mb
Accedi all'interfaccia web di Kibana
Per impostazione predefinita, Kibana è in ascolto sulla porta 5601 . Puoi accedervi utilizzando l'URL http://your-server-ip:5601
. Dovresti vedere la dashboard di Kibana nella schermata seguente:
Ora, fai clic su Esplora da solo . Dovresti vedere la seguente schermata:
Congratulazioni! hai installato correttamente ELK Stack sul server Ubuntu 20.04.
Ovviamente, non devi fare nulla di tutto ciò se utilizzi uno dei nostri servizi di hosting VPS Linux, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di configurarlo per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.
PS . Se questo post ti è piaciuto condividilo con i tuoi amici sui social network utilizzando i pulsanti a sinistra o semplicemente lascia una risposta qui sotto. Grazie.