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

Come installare ELK Stack su CentOS 7 / RHEL 7

L'analisi dei log è sempre stata una parte importante dell'amministrazione del sistema, ma è uno dei compiti più noiosi e noiosi, soprattutto quando si ha a che fare con un certo numero di sistemi. Fortunatamente, lo stack ELK ha semplificato il compito, lo stack ELK è ora utilizzato per l'ispezione/analisi dei registri ed è una combinazione dei seguenti tre prodotti open source

  •  ElasticSearch:è un database No-SQL che indicizza e archivia le informazioni
  •  Logstash: è uno strumento di pipeline di log che raccoglie e analizza i log
  •  Kibana – Fornisce la GUI (Graphical User Interface) e viene utilizzato per la visualizzazione dei dati e funziona su elasticsearch.

Lo stack ELK riceve i log dal client tramite il protocollo Beats, inviati utilizzando un client Beats. In questo tutorial creeremo uno stack ELK su una macchina Centos 7 e installeremo anche un client beat denominato "File Beat" sulla macchina client.

  • 192.168.0.180    elk-stack (CentOS 7)
  • 192.168.0.70     client (CentOS 7)

Prerequisito

La macchina su cui installeremo ELK dovrebbe avere Java versione 8 installata come . Quindi assicurati che java open-jdk versione 1.8.0_* sia installato e in esecuzione e nel caso non sia installato, quindi esegui il comando yum sottostante per l'installazione

[[email protetta] ~]# yum install java-1.8.0-openjdk

[[email protetta] ~]# java -versionopenjdk versione "1.8.0_131"OpenJDK Runtime Environment (build 1.8.0_131-b12)OpenJDK 64-Bit Server VM (build 25.131-b12, modalità mista)[[email protected] ] ~]#

Imposta il nome host e aggiorna il file /etc/hosts

[[email protected] ~]# hostnamectl set-hostname "elk-stack.example.com"

Aggiorna il file /etc/hosts

192.168.0.180  elk-stack.example.com elk-stack

Passaggi di installazione di ELK Stack

Ricerca elastica

Inizieremo importando le chiavi GPG per elasticsearch, questa chiave sarà condivisa anche con logstash e kibana. Per installare elasticsearch, esegui

[[email protetta] ~]# rpm –import https://packages.elastic.co/GPG-KEY-elasticsearch

[[email protetta] ~]#

Ora creeremo un repository per il repository elastic-search,

[[email protetta] ~]# vi /etc/yum.repos.d/elasticsearch.repo[elasticsearch]name=Elasticsearch repositorybaseurl=http://packages.elastic.co/elasticsearch/2.x/centosgpgcheck=1gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearchenabled=1

Una volta aggiunto il repository, installa elasticsearch utilizzando yum,

[[email protetta] ~]# yum install elasticsearch -y

Ora avviamo il servizio e imposteremo anche l'avvio all'avvio

[[email protected] ~]# systemctl daemon-reload[[email protected] ~]# systemctl start elasticsearch[[email protected] ~]# systemctl enable elasticsearch

Consenti la porta 9200 TCP nel firewall del sistema operativo. Nel caso in cui il firewall sia in esecuzione

[[email protetta] ~]# firewall-cmd --permanent --add-port 9200/tcp

Ora testeremo elasticsearch per assicurarci che risponda alle query

[[email protetta] ~]# curl -X GET http://localhost:9200

L'output del comando precedente dovrebbe essere qualcosa di simile al seguente:

Archivio di registro

Ora aggiungeremo il repository logstash,

[[email protetta] ~]# vi /etc/yum.repos.d/logstash.repo[logstash]name=Logstashbaseurl=http://packages.elasticsearch.org/logstash/2.2/centosgpgcheck=1gpgkey=http ://packages.elasticsearch.org/GPG-KEY-elasticsearchenabled=1

Ora installa logstash,

[[email protetta] ~]# yum install logstash -y

Kibana

Ora creeremo un repository per kibana,

[[email protetta] ~]# vi /etc/yum.repos.d/kibana.repo[kibana-4.5]name=Repository Kibana per 4.5.x packagesbaseurl=http://packages.elastic.co/kibana /4.5/centosgpgcheck=1gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearchenabled=1

Ora installa kibana usando yum,

[[email protetta] ~]# yum install kibana -y

Dopo l'installazione, avvia il servizio e abilitalo all'avvio

[[email protected] ~]# systemctl avvia kibana[[email protected] ~]# systemctl abilita kibana

Consenti la porta 5601 in OS Firewall

[[email protetta] ~]# firewall-cmd --permanent --add-port 5601/tcp[[email protetta] ~]# firewall-cmd --reload

Successivamente, accederemo alla pagina Web di kibana per assicurarci che funzioni. Per farlo, apri il browser web e inserisci il seguente URL

http://Indirizzo IP:5601/

L'installazione dello stack ELK è ora completa e faremo le configurazioni necessarie.

Configurazione

Certificato SSL per logstash

Dopo l'installazione di logstash, creeremo ora un certificato SSL per proteggere la comunicazione tra logstash e filebeat (client). Poiché utilizzeremo l'indirizzo IP per connetterci al server, creeremo un certificato SSL per IP SAN.

Prima di creare un certificato SSL, inseriremo il nostro IP in openssl.cnf,

[[email protetta] ~]# vi /etc/pki/tls/openssl.cnf

e cerca il parametro con "subjectAltName" nella sezione [ v3_ca ]  e aggiungi l'IP del tuo server,

subjectAltName =IP:192.168.0.180

Ora cambia la directory in /etc/ssl e crea un certificato SSL con una validità di 365 giorni,

[[email protected] ~]# cd /etc/ssl/[[email protected] ssl]# openssl req -x509 -days 365 -batch -nodes -newkey rsa:2048 -keyout logstash-forwarder.key -out logstash_frwrd.crtGenerazione di una chiave privata RSA a 2048 bit.....++++...........+++scrittura di una nuova chiave privata in 'logstash-forwarder.key'-----[[ email protetto] ssl]#

Una volta che il certificato è pronto, questo dovrebbe essere copiato su tutti i client usando il comando scp.

Configurazione di Logstash

Ora creeremo un file di configurazione per logstash nella cartella '/etc/logstash/conf.d '. Questo file sarà diviso in tre sezioni, ovvero la sezione di input, filtro e output

[[email protetta] ~]# vi /etc/logstash/conf.d/logstash.conf# input sectioninput { beats {   port => 5044   ssl => true   ssl_certificate => "/etc/ssl/logstash_frwrd.crt "   ssl_key => "/etc/ssl/logstash-forwarder.key"   congestion_threshold => "40"  }}

Questa sezione fa in modo che logstash sia in ascolto sulla porta 5044 per i log in entrata e fornisce anche i dettagli del certificato SSL per una connessione sicura.

La sezione successiva, ad esempio "sezione filtro", analizzerà i log prima di inviarli a elasticsearch ,

# Filter sectionfilter {if [type] =="syslog" {    grok {      match => { "message" => "%{SYSLOGLINE}" }    }    date {match => [ "timestamp", "MMM  d HH :mm:ss", "MMM gg HH:mm:ss" ]}  }}

L'ultima sezione è "sezione di output"  e definisce la posizione per l'archiviazione dei log,

# output sectionoutput { elasticsearch {  hosts => localhost    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"       }stdout {    codec => rubydebug       }}

Ora salva il file ed esci. Tutte queste sezioni possono anche essere divise in tre file separati, ma le abbiamo utilizzate in un unico file per facilità di configurazione. Ora avvieremo il servizio logstash e lo attiveremo all'avvio,

[[email protected] ~]# systemctl daemon-reload[[email protected] ~]# systemctl start logstash[[email protected] ~]# systemctl enable logstash

Consenti la porta 5044 TCP nel firewall del sistema operativo con il seguente comando in modo che Logstash ottenga i registri dai client

[[email protected] conf.d]# firewall-cmd --permanent --add-port=5044/tcpsuccess[[email protected] conf.d]# firewall-cmd --reloadsuccess[[email protected] conf .d]#

Installazione di Filebeat sui client

Filebeat deve essere installato su ogni sistema per il quale è necessario analizzare i log. Per prima cosa copiamo il file del certificato dal server elk-stack al client

[[email protetta] ~]# scp /etc/ssl/logstash_frwrd.crt [email protetta]:/etc/ssl

Per installare filebeat, aggiungeremo prima il repository per esso,

[[email protetta] ~]# vi /etc/yum.repos.d/filebeat.repo[beats]name=Elastic Beats Repositorybaseurl=https://packages.elastic.co/beats/yum/el/$ basearchenabled=1gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearchgpgcheck=1

Ora installa filebeat eseguendo sotto comando

[[email protetta] ~]# yum install filebeat

Ora apporteremo modifiche al file di configurazione per connettere i client filebeat al nostro stack ELK, ma prima di farlo assicurati che il certificato che abbiamo creato durante la configurazione logstash sia copiato sul client nella directory '/etc/ssl'. Una volta fatto, avvieremo la configurazione di filebeat,

[[email protetta] ~]# vi /etc/filebeat/filebeat.yml

Dobbiamo apportare modifiche alle seguenti tre sezioni,

. . . percorsi:        - /var/log/*.log        - /var/log/secure        - /var/log/messages. . .

In questa sezione, possiamo consentire i registri che devono essere analizzati. L'ho lasciato al valore predefinito, ovvero tutti i registri, ma puoi modificarlo per inviare solo uno o due file di registro. Per la sezione successiva, cambia il tipo_documento in "syslog",

. . . tipo_documento:syslog. . .

e nell'ultima sezione, ovvero "output", definiremo l'indirizzo IP e la posizione del nostro server stack ELK per il certificato SSL,

. . .output: logstash:    host:["192.168.0.180:5044"]    tls:      autorità_certificate:["/etc/ssl/logstash_frwrd.crt"]. . .

Nota:disabilita l'output di elasticsearch, commenta la voce "hosts:["localhost:9200″]" nel caso sia abilitato.

Ora avvia il servizio e abilitalo all'avvio,

[[email protected] ~]# systemctl restart filebeat[[email protected] ~]# systemctl enable filebeat

Ecco fatto, le configurazioni sia sul lato server che sul lato client sono ora complete. Ora possiamo accedere all'interfaccia web di kibana per cercare i log analizzati.

Crea pattern indice, cambia logstash-* a filebeat-*

Fare clic su Crea

Fai clic su Scopri e quindi cerca, otterremo registri come di seguito

Questo è tutto da questo articolo, condividi i tuoi preziosi feedback e commenti.


Cent OS
  1. Come installare ownCloud su CentOS 7

  2. Come installare Drupal 8 su CentOS 7

  3. Come installare OpenStack a nodo singolo su CentOS 7

  4. Come installare iRedMail (server di posta) su CentOS 7 / RHEL 7

  5. Installa Hypervisor KVM su CentOS 7.x e RHEL 7.x

Come installare Prometheus su CentOS 8 / RHEL 8

Come installare Ansible AWX su CentOS 7

Come installare Elasticsearch, Logstash e Kibana (ELK Stack) su CentOS 7 / RHEL 7

Come installare ELK Stack su RHEL 8

Come installare ELK Stack su CentOS 7

Come installare ELK Stack su CentOS 8