GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare ELK Stack su Ubuntu 18.04

ELK Stack è la piattaforma di gestione dei registri più popolare al mondo. È una raccolta di prodotti open source tra cui Elasticsearch, Logstash e Kibana. Tutti questi 3 prodotti sono sviluppati, gestiti e mantenuti da Elastic.

ELK Stack è una piattaforma potente e open source in grado di gestire un'enorme quantità di dati registrati. Il registro degli input proviene generalmente da un'interfaccia web grafica (GUI).

  • Elasticsearch è un motore di ricerca e analisi basato su JSON pensato per una scalabilità orizzontale e una gestione più semplice.
  • Logstash è un'interfaccia di elaborazione dati lato server che ha la capacità di raccogliere dati da diverse origini contemporaneamente. Quindi lo trasforma e quindi invia i dati alla scorta desiderata. È un'applicazione open source.
  • Kibana viene utilizzato per visualizzare i tuoi dati e navigare nello Stack elastico. È anche uno strumento open source.

Installa e configura ELK Stack su Ubuntu

In questo tutorial useremo filebeat per inviare i dati di registro a Logstash. Beats sono spedizionieri di dati leggeri e per cominciare, dovremmo installare l'agente sui server.

Fase 1) Installazione di Java 8

ElasticSearch supporta Java 8 e 9, ma il problema è che Logstash è compatibile solo con Java 8. Java 9 non è ancora supportato. Pertanto, installeremo Oracle Java 8.

Avvia il Terminale e aggiungi il repository Oracle Java 8, seguito da un aggiornamento del sistema e dall'installazione effettiva.

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt install oracle-java8-set-default

Presta attenzione al Terminale. Dovrai accettare le finestre del contratto di licenza e selezionare "sì" per continuare. Al termine dell'installazione, puoi controllare la versione java utilizzando i seguenti comandi:

.sudo java -version
sudo echo $JAVA_HOME

Fase 2) Installazione e configurazione di Elasticsearch

Iniziamo con wget comando per scaricare Elasticsearch seguito dalla chiave di firma pubblica:

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

In secondo luogo, installa il pacchetto apt-transport-https (le distribuzioni basate su Debian ne hanno bisogno).

sudo apt-get install apt-transport-https

Aggiungi il repository:

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

Aggiorna l'elenco dei repository e installa il pacchetto:

sudo apt-get update
sudo apt-get install elasticsearch

Modifichiamo il file “elasticsearch.yml”:

sudo vim /etc/elasticsearch/elasticsearch.yml

Decommentare “network.host” e “http.port”. È necessario aggiungere la seguente configurazione:

network.host: localhost
http.port: 9200

Quindi, salva e chiudi il file.

Per assicurarti che ElasticSearch funzioni perfettamente, abilitalo all'avvio e Avvia ElasticSearch.

sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service

Verifica installazione:

sudo curl -XGET 'localhost:9200/?pretty'

Fase 3) Installazione di Kibana

Iniziamo subito a installare Kibana e modifichiamo le impostazioni di Kibana:

sudo apt-get install kibana
sudo vim /etc/kibana/kibana.yml

Decommenta le seguenti righe:

server.port: 5601
server.host: "localhost"
elasticsearch.url: "http://localhost:9200"

Salva ed esci dal file.

Abilitalo all'avvio e avvia il servizio Kibana:

sudo systemctl enable kibana.service
sudo systemctl start kibana.service

Fase 4) Configurazione di Nginx come proxy inverso per Kibana

Nelle righe simili, installiamo Nginx, configuriamolo e avviamo il servizio. Usa i seguenti comandi uno alla volta:

sudo apt-get install nginx apache2-utils

Configura host virtuale:

sudo vim /etc/nginx/sites-available/elk

Aggiungi la seguente configurazione al file:

 server {
    listen 80;
 
    server_name elk.fosslinux.com;
 
    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/.elkusersecret;
 
    location / {
        proxy_pass http://localhost:5601;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Crea file utente e password per l'autenticazione del browser web:

sudo htpasswd -c /etc/nginx/.elkusersecret elkusr

Inserisci la password e ripeti. Controlla le configurazioni di Nginx:

sudo nginx -t

Abilita Nginx all'avvio del sistema e riavvia il servizio:

sudo systemctl enable nginx.service
sudo systemctl restart nginx.service

Fase 5) Installazione e configurazione di Logstash

Installa Logstash:

sudo apt-get install logstash

Qui genereremo la chiave del certificato SSL per proteggere il trasferimento del registro dal client file beat. Modifica il file "hosts" prima di creare il certificato SSL.

sudo vim /etc/hosts

Aggiungi la seguente riga al file. Assicurati di cambiare IP e nome del server con il tuo.

172.31.31.158 elk-server elk-server

Al termine, salva ed esci dal file.

Ora cambia la directory in Logstash.

sudo cd /etc/logstash/

Crea una cartella per SSL:

sudo mkdir ssl

Genera certificato SSL. Modifica elk-server con il nome del tuo server nel comando seguente.

sudo openssl req -subj '/CN=elk-server/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout ssl/logstash-forwarder.key -out ssl/logstash-forwarder.crt

Crea i seguenti file all'interno di "/etc/logstash/conf.d".

sudo cd /etc/logstash/conf.d/

crea un file di input filebeat usando vim.

sudo vim filebeat-input.conf

Aggiungi le seguenti righe.

input {
  beats {
    port => 5443
    type => syslog
    ssl => true
    ssl_certificate => "/etc/logstash/ssl/logstash-forwarder.crt"
    ssl_key => "/etc/logstash/ssl/logstash-forwarder.key"
  }
}

Salva e chiudi il file e crea un nuovo file di configurazione.

sudo vim syslog-filter.conf

Aggiungi i seguenti contenuti.

filter {
  if [type] == "syslog" {
    grok {
      match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
      add_field => [ "received_at", "%{@timestamp}" ]
      add_field => [ "received_from", "%{host}" ]
    }
    date {
      match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
  }
}

Salva ed esci dal file. Crea ricerca elastica file di output.

sudo vim output-elasticsearch.conf

Aggiungi le seguenti righe.

output {
  elasticsearch { hosts => ["localhost:9200"]
    hosts => "localhost:9200"
    manage_template => false
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
    document_type => "%{[@metadata][type]}"
  }
}

Abilitiamo Logstash all'avvio e avviamo il servizio:

sudo systemctl enable logstash.service
sudo systemctl start logstash.service

Fase 6) Installazione e configurazione di Filebeat sui server client

Inizia con la modifica degli host file per aggiungere voci host elk. Assicurati di sostituire IP e nome con il tuo.

sudo vim /etc/hosts
172.31.31.158 elk-server

Salva ed esci dal file.

Scarica e installa la chiave di firma pubblica:

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

Installa "apt-transport-https" e aggiungi repository.

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

Aggiorna il repository e installa Filebeat.

sudo apt-get update
sudo apt-get install filebeat

Modifica le configurazioni di Filebeat.

sudo vim /etc/filebeat/filebeat.yml

Trova la riga seguente e modifica il valore in "true".

enabled: true

Qui non stiamo modificando il percorso del registro e Filebeat inoltrerà tutti i registri all'interno della cartella "var/log"

  paths:
    - /var/log/*.log

Decommenta le seguenti righe:

output.logstash:
  # The Logstash hosts
  hosts: ["elk-server:5443"]
  ssl.certificate_authorities: ["/etc/filebeat/logstash-forwarder.crt"]

Commenta Ricerca elastica:

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

Salva ed esci dal file.

Ora vai al server ELK e ottieni i contenuti "logstash-forwarder.crt"

sudo cat /etc/logstash/ssl/logstash-forwarder.crt

copia l'output e poi vai su Elk client-server.

Crea un file di certificato

sudo vim /etc/filebeat/logstash-forwarder.crt

inserisci l'output copiato e salva ed esci.

Abilita filebeat all'avvio del sistema Avvia filebeat servizio.

sudo systemctl enable filebeat.service
sudo systemctl start filebeat.service

Fase 7) Navigazione nella dashboard di Kibana

Avvia il tuo browser web preferito e inserisci il nome di dominio seguito da nome utente e password.

http://elk.fosslinux.com

Immettere il nome utente e la password creati. Dovresti vedere la pagina di benvenuto di Kibana. Fai clic sul pulsante "Esplora il mio".

Dovresti essere indirizzato alla Home Page di Kibana.

Fai clic su "Scopri" sul lato sinistro. Fai clic su "Crea modello di indice".

Quindi definisci il modello di indice  "filebeat-*".

Fai clic su Avanti e scegli @timestamp" e fai clic su "Crea modello di indice".

Il pattern dell'indice dovrebbe essere creato.

Fai clic sul menu "Scopri" per vedere i registri del server.

I registri verranno visualizzati secondo il timestamp. Fare clic su qualsiasi timestamp per espanderlo e vedere il contenuto del file di registro e i suoi dettagli.

Se hai raggiunto qui, significa che hai installato e configurato correttamente lo stack ELK con filebeat. Hai qualche problema? Sentiti libero di farcelo sapere nei commenti qui sotto.


Ubuntu
  1. Come installare Elasticsearch su Ubuntu 18.04

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

  3. Installazione dello stack ELK su Ubuntu 14.04

  4. Come installare Zammad Community in Ubuntu 20.04

  5. Come installare ELK Stack su Ubuntu 16.04

Come installare ELK Stack su CentOS 8

Come installare Elasticsearch su Ubuntu 18.04 LTS

Come installare ELK Stack su Ubuntu 20.04 LTS

Come installare Elasticsearch su Ubuntu 20.04 LTS

Come installare ELK Stack su Debian 8

Come installare ELK Stack su Ubuntu 20.04