GNU/Linux >> Linux Esercitazione >  >> Cent OS

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

Elasticsearch è un motore di ricerca open source basato su Lucene, sviluppato in Java. Fornisce un motore di ricerca full-text distribuito e multi-tenant con un'interfaccia Web HTTP Dashboard (Kibana). I dati vengono interrogati, recuperati e archiviati con uno schema di documenti JSON. Elasticsearch è un motore di ricerca scalabile che può essere utilizzato per cercare tutti i tipi di documenti di testo, inclusi i file di registro. Elasticsearch è il cuore di 'Elastic Stack' o ELK Stack.

Logstash è uno strumento open source per la gestione di eventi e registri. Fornisce il pipelining in tempo reale per le raccolte di dati. Logstash raccoglierà i tuoi dati di registro, convertirà i dati in documenti JSON e li archivierà in Elasticsearch.

Kibana è uno strumento di visualizzazione dei dati open source per Elasticsearch. Kibana fornisce una bella interfaccia web dashboard. Ti consente di gestire e visualizzare i dati da Elasticsearch. Non è solo bello, ma anche potente.

In questo tutorial, ti mostreremo passo dopo passo l'installazione e la configurazione dello "Stack elastico" sul server CentOS 8. Installeremo e configureremo Elasticsearch, Logstash e Kibana. E quindi imposta il "filebeat" di Beats sui client Ubuntu e sul sistema CentOS.

Prerequisiti

  • CentOS 8 64 bit con 4 GB di RAM - elk-master
  • CentOS 8 64 bit con 1 GB di RAM - client01
  • Ubuntu 18.04 64 bit con 1 GB di RAM - client02

Cosa faremo:

  • Aggiungi Elastic Repository al server CentOS 8
  • Installa e configura Elasticsearch
  • Installa e configura Kibana Dashboard
  • Imposta Nginx come proxy inverso per Kibana
  • Installa e configura Logstash
  • Installa e configura Filebeat
  • Test

Passaggio 1:aggiungi un repository elastico

In primo luogo, aggiungeremo la chiave e il repository Elasticsearc al server CentOS 8. Con il repository elasticsearch fornito da elastic.co, siamo in grado di installare prodotti elastici inclusi Elasticsearch, Logstash, Kibana e Beats.

Aggiungi la chiave elastica al sistema usando il seguente comando.

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Successivamente, vai alla directory '/etc/yum.repos.d' e crea un nuovo file di repository 'elasticsearch.repo'.

cd /etc/yum.repos.d/
vim elasticsearch.repo

Incolla il repository elasticsearch di seguito.

[elasticsearch-7.x]
name=Elasticsearch 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

Salva e chiudi.

Ora controlla tutti i repository disponibili sul sistema usando il comando dnf di seguito.

dnf repolist

E otterrai il repository elasticsearch che è stato aggiunto al server CentOS 8.

Di conseguenza, puoi installare prodotti Elastic come Elasticsearch, Logstash e Kibana, ecc.

Fase 2 - Installa e configura Elasticsearch

In questo passaggio installeremo e configureremo Elasticsearch.

Installa il pacchetto Elasticsearch utilizzando il comando dnf di seguito.

sudo dnf install elasticsearch -y

Una volta completata l'installazione, vai nella directory '/etc/elasticsearch' e modifica il file di configurazione 'elasticsearch.yml' usando vim editor.

cd /etc/elasticsearch/
vim elasticsearch.yml

Decommenta le seguenti righe e modifica il valore di ciascuna riga come di seguito.

network.host: 127.0.0.1
http.port: 9200

Salva e chiudi.

Facoltativo:

Puoi ottimizzare elasticsearch modificando il file di configurazione JVM 'jvm.options' e impostando la dimensione dell'heap in base alla quantità di memoria che hai.

Modifica la configurazione JVM 'jvm.options' usando l'editor vim.

vim jvm.options

Modifica la dimensione dell'heap min/max tramite la configurazione Xms e Xmx come di seguito.

-Xms512m
-Xmx512m

Salva e chiudi.

Quindi, ricarica la configurazione di systemd manager e aggiungi il servizio elasticsearch all'avvio.

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch

Quindi avvia il servizio elasticsearch.

sudo systemctl start elasticsearch

Di conseguenza, elasticsearch è attivo e funzionante dietro l'indirizzo IP locale "127.0.0.1" con la porta predefinita "9200" sul server CentOS 8.

Puoi controllare elasticsearch usando il comando curl qui sotto.

curl -XGET 'http://127.0.0.1:9200/?pretty'

E sotto c'è il risultato che otterrai.

Passaggio 3 - Installa e configura Kibana Dashboard

Dopo aver installato elasticsearch, installeremo e configureremo Kibana Dashboard sul server CentOS 8.

Installa la dashboard di Kibana utilizzando il comando dnf di seguito.

sudo dnf install kibana

Una volta completata l'installazione, vai nella directory '/etc/kibana' e modifica il file di configurazione 'kibana.yml'.

cd /etc/kibana/
vim kibana.yml

Decommenta e modifica la configurazione di alcune righe come di seguito.

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

Salva e chiudi.

Quindi, aggiungi il servizio kibana all'avvio del sistema e avvia il servizio kibana.

sudo systemctl enable kibana
sudo systemctl start kibana

Il servizio Kibana è attivo e funzionante sul server CentOS 8, verificalo utilizzando i seguenti comandi.

systemctl status kibana
netstat -plntu

E otterrai il risultato come di seguito.

Di conseguenza, il servizio Kibana è attivo ed esegue la porta TCP predefinita '5601'.

Passaggio 4:imposta Nginx come proxy inverso per Kibana

In questo passaggio, installeremo il server web Nginx e lo configureremo come proxy inverso per Kibana Dashboard.

Installa Nginx e httpd-tools usando il comando dnf di seguito.

sudo dnf install nginx httpd-tools

Una volta completata l'installazione, vai nella directory '/etc/nginx/conf.d' e crea un nuovo file di configurazione 'kibana.conf'.

cd /etc/nginx/conf.d/
vim kibana.conf

Incolla la seguente configurazione.

server {
    listen 80;
 
    server_name elk.hakase-labs.io;
 
    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/.kibana-user;
 
    location / {
        proxy_pass http://127.0.0.1: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;
    }
}

Salva e chiudi.

Successivamente, dobbiamo creare l'autenticazione di base per proteggere l'accesso a Kibana. Cambia l'utente 'hakase' con il tuo ed esegui il comando htpasspwd come di seguito.

sudo htpasswd -c /etc/nginx/.kibana-user hakase
TYPE YOUR PASSWORD

Digita la tua password e prova la configurazione di nginx.

nginx -t

Assicurati che non ci siano errori.

Ora aggiungi il servizio nginx all'avvio del sistema e avvia il servizio nginx.

systemctl enable nginx
systemctl start nginx

Di conseguenza, l'installazione e la configurazione di Nginx come proxy inverso per Kibana Dashboard sono state completate.

Passaggio 5 - Installa e configura Logstash

In questo passaggio, installeremo e configureremo il logstash del log shipper. Installeremo logstash, imposteremo i battiti di input, imposteremo il filtro syslog utilizzando il plug-in logstash chiamato 'grok', quindi configureremo l'output su elasticsearch.

Installa logstash usando il comando dnf di seguito.

sudo dnf install logstash

Una volta completata l'installazione, vai alla directory '/etc/logstash' e modifica il file di configurazione JVM 'jvm.options' usando vim editor.

cd /etc/logstash/
vim jvm.options

Modifica la dimensione dell'heap min/max tramite la configurazione Xms e Xmx come di seguito.

-Xms512m
-Xmx512m

Salva e chiudi.

Quindi, vai alla directory '/etc/logstash/conf.d' e crea il file di configurazione per l'input beat chiamato 'input-beat.conf'.

cd /etc/logstash/conf.d/
vim input-beat.conf

Incolla la seguente configurazione.

input {
  beats {
    port => 5044
  }
}

Salva e chiudi.

Ora crea il file di configurazione 'syslog-filter.conf'.

vim syslog-filter.conf

Incolla la seguente configurazione.

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 e chiudi.

Quindi crea la configurazione di output per elasticsearch 'output-elasticsearch.conf'.

vim output-elasticsearch.conf

Incolla la seguente configurazione.

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

Salva e chiudi.

Quindi, aggiungi il servizio logstash all'avvio del sistema e avvia il servizio logstash.

systemctl enable logstash
systemctl start logstash

Il servizio logstash è attivo e funzionante, verifica utilizzando i seguenti comandi.

systemctl status logstash
netstat -plntu

E otterrai il risultato come di seguito.

Di conseguenza, il log shipper logstash è attivo e funzionante sul server CentOS 8 con la porta TCP predefinita "5044". E l'installazione di base di Elastic Stack è stata completata e siamo pronti per spedire e monitorare i nostri log al server Elastic (ELK Stack).

Passaggio 6 - Installa Filebeat sul client

In questo passaggio, ti mostreremo come impostare il filebeat sul sistema Ubuntu e CentOS. Installeremo un filebeat e configureremo per spedire i log da entrambi i server al Logstash sul server elastico.

- Installa Filebeat su CentOS 8

Aggiungi la chiave elasticsearch al sistema CentOS 8 usando il comando seguente.

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Ora vai nella directory '/etc/yum.repos.d' e crea il file 'elasticsearch.repo' usando l'editor vim.

cd /etc/yum.repos.d/
vim elasticsearch.repo

Incolla la seguente configurazione.

[elasticsearch-7.x]
name=Elasticsearch 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

Salva e chiudi.

Ora installa il filebeat usando il comando dnf qui sotto.

sudo dnf install filebeat

Attendi il completamento dell'installazione di filebeat.

- Installa Filebeat su Ubuntu 18.04

Innanzitutto, installa i pacchetti apt-transport-https.

sudo apt install apt-transport-https

Successivamente, aggiungi la chiave e il repository elasticsearch utilizzando i seguenti comandi.

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

Ora aggiorna tutti i repository e installa filebeat sul sistema Ubuntu usando il comando apt di seguito.

sudo apt update
sudo apt install filebeat

Attendi il completamento dell'installazione di filebeat.

- Configura Filebeat

La configurazione di filebeat che si trova nella directory '/etc/filebeat'. Vai alla directory filebeat e modifica il file di configurazione 'filebeat.yml'.

cd /etc/filebeat/
vim filebeat.yml

Ora disabilita l'output di elasticsearch predefinito come di seguito.

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

Quindi abilitare l'output logstash e specificare l'indirizzo IP dell'host logstash.

output.logstash:
  # The Logstash hosts
  hosts: ["10.5.5.25:5044"]

Salva e chiudi.

Successivamente, dobbiamo abilitare i moduli filebeat. Esegui il comando filebeat di seguito per ottenere l'elenco dei moduli filebeat.

filebeat modules list

Abilita il modulo 'sistema' usando il seguente comando.

filebeat modules enable system

Il modulo di sistema filebeat è stato abilitato con il file di configurazione 'modules.d/system.yml'.

Modifica la configurazione del modulo di sistema usando vim editor.

cd /etc/filebeat/
vim modules.d/system.yml

Decommenta il percorso del file syslog e il file di autorizzazione ssh.

Per il sistema CentOS:

  # Syslog
  syslog:
    enabled: true
    var.paths: ["/var/log/messages"]

  # Authorization logs
  auth:
    enabled: true
    var.paths: ["/var/log/secure"]

Per il sistema Ubuntu:

  # Syslog
  syslog:
    enabled: true
    var.paths: ["/var/log/syslog"]

  # Authorization logs
  auth:
    enabled: true
    var.paths: ["/var/log/auth.log"]

Salva e chiudi.

Ora aggiungi il servizio filebeat all'avvio del sistema e avvia il servizio.

systemctl enable filebeat
systemctl start filebeat

Il servizio filebeat è attivo e funzionante, puoi verificarlo utilizzando il comando seguente.

systemctl status filebeat

E ti verrà mostrato il risultato come di seguito.

Di seguito è riportato il risultato del server CentOS 8.

E di seguito è da Ubuntu Server 18.04.

Di conseguenza, è stata stabilita la connessione tra filebeat e il servizio logstash sull'indirizzo IP del server dello stack elastico "10.5.5.12".

Fase 7 - Test

Apri il tuo browser web e digita il nome del dominio di installazione di Elastic Stack nella barra degli indirizzi.

http://elk.hakase-labs.io/

Ora accedi alla dashboard di Kibana utilizzando l'account di autenticazione di base che hai creato.

E otterrai la dashboard Kibana come di seguito.

Ora connettiti ai dati dell'indice elasticsearch creati automaticamente dopo che il filebeat si è connesso al logstash. Fai clic su 'Connetti al tuo indice Elasticsearch ' collegamento.

Crea il 'filebeat-* ' modello di indice e fai clic su 'Passaggio successivo pulsante '.

Per il nome del filtro, scegli '@timestamp ' filtro e fai clic su 'Crea modello di indice '.

E il 'filebeat-* ' è stato creato un modello di indice, fai clic su 'Scopri ' menu a sinistra.

E otterrai i dati di registro dai client filebeat come di seguito.

Registri per il sistema CentOS 8.

Accedi al sistema Ubuntu.

Di conseguenza, i dati di registro definiti nel modulo di sistema filebeat sono stati inviati al server dello stack elastico.

E l'installazione e la configurazione di Elastic Stack su CentOS 8 sono state completate correttamente.


Cent OS
  1. Come installare Elasticsearch e Kibana su Linux

  2. Come installare Elasticsearch, Logstash e Kibana 4 su CentOS 7 / RHEL 7

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

  4. Come installare lo stack ELK su CentOS 7

  5. Installa Elasticsearch, Logstash e Kibana su Ubuntu 20.04

Imposta ELK Stack su Ubuntu 16.04 – Installa ElasticSearch, Logstash e Kibana su Ubuntu 16.04

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

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

Come installare ELK Stack su CentOS 7

Come installare ELK Stack su CentOS 8

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