GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat ELK Stack na CentOS 7 / RHEL 7

Analýza protokolů byla vždy důležitou součástí správy systému, ale je to jeden z nejnudnějších a nejúnavnějších úkolů, zejména při práci s řadou systémů. Naštěstí zásobník ELK tento úkol usnadnil, zásobník ELK se nyní používá pro kontrolu/analýzu protokolů a je to kombinace následujících tří produktů s otevřeným zdrojovým kódem

  •  ElasticSearch – Jde o databázi bez SQL, která indexuje a ukládá informace
  •  Logstash –  Je to nástroj pro vytváření protokolů, který shromažďuje a analyzuje protokoly
  •  Kibana – Poskytuje GUI (grafické uživatelské rozhraní) a používá se pro vizualizaci dat a funguje nad elastickým vyhledáváním.

Zásobník ELK přijímá protokoly od klienta prostřednictvím protokolu beats, zasílané pomocí klienta beats. V tomto tutoriálu vytvoříme zásobník ELK na stroji Centos 7 a také nainstalujeme klienta beat s názvem 'File Beat' na klientský počítač.

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

Předpoklad

Stroj, na který budeme ELK instalovat, by měl mít nainstalovanou Javu verze 8 jako . Ujistěte se tedy, že je nainstalována a spuštěna java open-jdk verze 1.8.0_*, a pokud není nainstalována, spusťte příkaz beneath yum pro instalaci

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

[[email protected] ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
[[email protected] ~]#

Nastavte název hostitele a aktualizujte soubor /etc/hosts

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

Aktualizujte soubor /etc/hosts

192.168.0.180  elk-stack.example.com elk-stack

Kroky instalace ELK Stack

Elasticsearch

Začneme importem klíčů GPG pro elasticsearch, tento klíč bude také sdílen s logstash &kibana. Chcete-li nainstalovat elasticsearch, spusťte

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

[[e-mail chráněn] ~]#

Nyní vytvoříme repozitář pro repozitář elastic-search,

[[email protected] ~]# vi /etc/yum.repos.d/elasticsearch.repo

[elasticsearch]
name=Elasticsearch repository
baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

Po přidání úložiště nainstalujte elasticsearch pomocí yum,

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

Nyní spustíme službu a bude také nastavena na spuštění při startu

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

Povolte port 9200 tcp v bráně firewall operačního systému. V případě, že je spuštěna brána firewall

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

Nyní otestujeme elasticsearch, abychom se ujistili, že odpovídá na dotazy

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

Výstup výše uvedeného příkazu by měl být něco jako níže:

Logstash

Nyní přidáme úložiště logstash,

[[email protected] ~]# vi /etc/yum.repos.d/logstash.repo

[logstash]
name=Logstash
baseurl=http://packages.elasticsearch.org/logstash/2.2/centos
gpgcheck=1
gpgkey=http://packages.elasticsearch.org/GPG-KEY-elasticsearch
enabled=1

Nyní nainstalujte logstash,

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

Kibana

Nyní vytvoříme úložiště pro kibana,

[[email protected] ~]# vi /etc/yum.repos.d/kibana.repo

[kibana-4.5]
name=Kibana repository for 4.5.x packages
baseurl=http://packages.elastic.co/kibana/4.5/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

Nyní nainstalujte kibanu pomocí yum,

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

Po instalaci spusťte službu a povolte ji při spouštění

[[email protected] ~]# systemctl start kibana
[[email protected] ~]# systemctl enable kibana

Povolit port 5601 v OS Firewall

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

Dále vstoupíme na webovou stránku pro kibana, abychom se ujistili, že funguje. Chcete-li to provést, otevřete webový prohlížeč a zadejte následující adresu URL

http://IP-Adresa:5601/

Instalace ELK stacku je nyní dokončena a my provedeme potřebné konfigurace.

Konfigurace

Certifikát SSL pro logstash

Po instalaci logstash nyní vytvoříme SSL certifikát pro zabezpečení komunikace mezi logstash &filebeat (klienty). Protože pro připojení k serveru budeme používat IP adresu, vytvoříme SSL certifikát pro IP SAN.

Před vytvořením SSL certifikátu provedeme záznam naší IP v openssl.cnf,

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

a vyhledejte parametr s ‘subjectAltName’ v sekci [ v3_ca ] a přidejte do něj IP svého serveru,

subjectAltName = IP: 192.168.0.180

Nyní změňte adresář na /etc/ssl a vytvořte certifikát SSL s platností 365 dní,

[[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.crt
Generating a 2048 bit RSA private key
.....+++
...........+++
writing new private key to 'logstash-forwarder.key'
-----
[[email protected] ssl]#

Jakmile je certifikát připraven, měl by být zkopírován všem klientům pomocí příkazu scp.

Konfigurace Logstash

Nyní vytvoříme konfigurační soubor pro logstash ve složce ‘/etc/logstash/conf.d ‘. Tento soubor bude rozdělen do tří sekcí, tj. vstupní, filtrační a výstupní sekce

[[email protected] ~]# vi /etc/logstash/conf.d/logstash.conf

# input section
input {
 beats {
   port => 5044
   ssl => true
   ssl_certificate => "/etc/ssl/logstash_frwrd.crt"
   ssl_key => "/etc/ssl/logstash-forwarder.key"
   congestion_threshold => "40"
  }
}

Tato sekce umožňuje, aby logstash naslouchal na portu 5044 příchozím protokolům a také poskytuje podrobnosti certifikátu SSL pro zabezpečené připojení.

Další sekce, tj. „filtrová sekce“, analyzuje protokoly před jejich odesláním do elasticsearch,

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

}
  }
}

Poslední sekce je „výstupní sekce“ a definuje umístění pro ukládání protokolů,

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

Nyní soubor uložte a ukončete. Všechny tyto sekce lze také rozdělit do tří samostatných souborů, ale pro snadnou konfiguraci jsme je použili v jediném souboru. Nyní spustíme službu logstash a povolíme ji při spouštění,

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

Povolte port 5044 tcp v bráně firewall OS pomocí následujícího příkazu, aby Logstash získával protokoly od klientů

[[email protected] conf.d]# firewall-cmd --permanent --add-port=5044/tcp
success
[[email protected] conf.d]# firewall-cmd --reload
success
[[email protected] conf.d]#

Instalace Filebeat na klienty

Filebeat je třeba nainstalovat na každý systém, pro který potřebujeme analyzovat protokoly. Nejprve zkopírujeme soubor certifikátu ze serveru elk-stack do klienta

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

Chcete-li nainstalovat filebeat, nejprve k němu přidáme repo

[[email protected] ~]# vi /etc/yum.repos.d/filebeat.repo
[beats]
name=Elastic Beats Repository
baseurl=https://packages.elastic.co/beats/yum/el/$basearch
enabled=1
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
gpgcheck=1

Nyní nainstalujte filebeat spuštěním příkazu beneath

[[email protected] ~]# yum install filebeat

Nyní provedeme změny v konfiguračním souboru, abychom připojili klienty filebeat k našemu zásobníku ELK, ale než to uděláme, ujistěte se, že certifikát, který jsme vytvořili během konfigurace logstash, je zkopírován na klienta do adresáře „/etc/ssl“. Jakmile to bude hotové, zahájíme konfiguraci filebeat,

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

Musíme provést změny v následujících třech částech,

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

V této sekci můžeme povolit protokoly, které je třeba analyzovat. Nechal jsem to ve výchozím nastavení, tj. všechny protokoly, ale můžete jej upravit tak, aby posílal pouze jeden nebo dva soubory protokolu. Pro další sekci změňte document_type na ‚syslog‘,

.  .  .
      document_type: syslog
.  .  .

&v poslední sekci, tj. ‚výstup‘, definujeme IP adresu a umístění našeho ELK stack serveru pro ssl certifikát,

.   .   .
output:
  logstash:
    hosts: ["192.168.0.180:5044"]
    tls:
      certificate_authorities: ["/etc/ssl/logstash_frwrd.crt"]
.   .   .

Poznámka:Vypněte výstup elasticsearch, zakomentujte položku „hosts:[“localhost:9200″]“, pokud je povolena.

Nyní spusťte službu a povolte ji při spouštění,

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

To je vše, konfigurace na straně serveru i klienta jsou nyní dokončeny. Nyní se můžeme přihlásit do webového rozhraní kibana a vyhledat analyzované protokoly.

Vytvořte vzor indexu, změňte logstash-* to filebeat-*

Klikněte na Vytvořit

Klikněte na Objevit a poté hledejte, získáme protokoly něco jako níže

To je z tohoto článku vše. Podělte se prosím o své cenné připomínky a komentáře.


Cent OS
  1. Jak nainstalovat ownCloud na CentOS 7

  2. Jak nainstalovat Drupal 8 na CentOS 7

  3. Jak nainstalovat Single Node OpenStack na CentOS 7

  1. Jak nainstalovat iRedMail (mailový server) na CentOS 7 / RHEL 7

  2. Nainstalujte KVM Hypervisor na CentOS 7.xa RHEL 7.x

  3. Jak nainstalovat server Kolab 16 Groupware na CentOS 7 / RHEL 7

  1. Jak nainstalovat a nakonfigurovat Jenkins na CentOS 7 a RHEL 7

  2. Jak nainstalovat VirtualBox 5.1 na CentOS 7 / RHEL 7 / Fedora 26

  3. Jak nainstalovat Tripleo (Openstack na Openstack) UnderCloud na CentOS 7