GNU/Linux >> Znalost Linux >  >> Debian

Jak nastavit ELK Stack na Debian 10 / Debian 9

ELK stack je plnohodnotná platforma pro analýzu dat, která se skládá z Elasticsearch, Logstash a open-source nástroje Kibana. Pomáhá vám centrálně ukládat a spravovat protokoly a poskytuje možnost analyzovat problémy.

Tento článek vám pomůže nainstalovat ELK stack na Debian 10 / Debian 9.

Nainstalujte ELK Stack

Elasticsearch – Ukládá příchozí protokoly z Logstashe a poskytuje možnost prohledávat protokoly/data v reálném čase

Logstash – Zpracování (shromažďování, obohacování a odesílání do Elasticsearch) příchozích protokolů zaslaných beats (forwarder).

Kibana – Poskytuje vizualizaci událostí a protokolů.

Beats – instalovaný na klientských počítačích a odesílá protokoly do Logstash nebo Elasticsearch prostřednictvím protokolu beats.

Nainstalujte Javu

Elasticsearch vyžaduje OpenJDK nebo Oracle JDK dostupné na vašem počítači. Zde pro toto demo používám OpenJDK.

sudo apt update

sudo apt install -y openjdk-11-jre

Zkontrolujte verzi Java.

java -version

Výstup:

openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Debian-3deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Debian-3deb10u1, mixed mode, sharing)

Pokud chcete používat OracleJDK, přečtěte si:

ČTĚTE:Jak nainstalovat Oracle Java na Debian 10 / Debian 9

Přidat elastické úložiště

Nainstalujte podporu wget a HTTPS pro apt.

sudo apt install -y wget apt-transport-https curl

Balíčky ELK lze získat z úložiště Elastic.

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

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

Instalovat a konfigurovat Elasticsearch

Nejprve nainstalujeme server Elasticsearch, open-source vyhledávač založený na Lucene. Poskytuje v reálném čase distribuovaný fulltextový vyhledávač podporující více nájemců s webovým rozhraním HTTP a dokumenty JSON bez schémat.

Elasticsearch ukládá data odeslaná Logstash a zobrazuje je prostřednictvím Kibana na požadavky uživatele.

Nainstalujte Elasticsearch pomocí následujícího příkazu.

sudo apt update

sudo apt install -y elasticsearch-oss

Spusťte službu Elasticsearch.

sudo systemctl start elasticsearch

sudo systemctl enable elasticsearch

Počkejte několik minut a spusťte následující příkaz, abyste viděli stav rozhraní Elasticsearch REST.

curl -X GET http://localhost:9200

Výstup:

{
  "name" : "debian10",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "6y4OcEnYS3qkN_AetQAYMQ",
  "version" : {
    "number" : "7.8.0",
    "build_flavor" : "oss",
    "build_type" : "deb",
    "build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
    "build_date" : "2020-06-14T19:35:50.234439Z",
    "build_snapshot" : false,
    "lucene_version" : "8.5.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Výše uvedený výstup potvrzuje, že Elasticsearch funguje dobře.

Instalace a konfigurace Logstash

Logstash je open source modul pro sběr dat a analýzu protokolů. Shromažďuje protokoly, analyzuje je a ukládá je na Elasticsearch pro vyhledávání. Pro Logstash je k dispozici více než 160 pluginů, které umožňují zpracovávat různé typy událostí bez práce navíc.

sudo apt install -y logstash-oss

Konfigurační soubor Logstash se skládá ze tří částí, jmenovitě vstupu, filtru a výstupu. Všechny tři sekce můžete umístit do jednoho souboru nebo do samostatného souboru pro každou sekci s koncovkou .conf.

Zde používáme jeden soubor pro umístění vstupních, filtračních a výstupních sekcí. Vytvořte konfigurační soubor v adresáři /etc/logstash/conf.d/.

sudo nano /etc/logstash/conf.d/beats-syslog.conf

Ve vstupní sekci nakonfigurujeme Logstash tak, aby na portu 5044 naslouchal příchozím protokolům z beatů (Forwarder), které jsou umístěny na klientských počítačích.

input {
 beats {
   port => 5044
   ssl => false
  }
}

V sekci filtrů použijeme Grok k analýze protokolů před jejich odesláním do Elasticsearch k uložení.

Následující filtr grok vyhledá označené protokoly syslog a pokusí se je analyzovat, aby vytvořil strukturovaný index.

filter {
if [type] == "syslog" {
    grok {
      match => { "message" => "%{SYSLOGLINE}" }
    }

    date {
match => [ "timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
  }

}

Další vzory filtrů GROK naleznete zde.

Ve výstupní sekci definujeme, kam se mají ukládat protokoly, samozřejmě Elasticsearch v případě ELK stacku.

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

Nyní spusťte a povolte službu Logstash.

sudo systemctl start logstash

sudo systemctl enable logstash

Pokud narazíte na jakýkoli problém, podívejte se na soubor Logstash.

sudo cat /var/log/logstash/logstash-plain.log

Nainstalujte a nakonfigurujte Kibana

Kibana poskytuje vizualizaci dat uložených na Elasticsearch. Nainstalujte Kibana pomocí následujícího příkazu.

sudo apt install -y kibana-oss

Ve výchozím nastavení Kibana naslouchá na localhost, což znamená, že nemáte přístup k webovému rozhraní Kibana z jiného počítače. Upravte soubor /etc/kibana/kibana.yml.

sudo nano /etc/kibana/kibana.yml

Proveďte změny na níže uvedeném řádku s IP adresou vašeho serveru.

server.host: "192.168.0.10"

Spusťte a povolte Kibana při spuštění počítače.

sudo systemctl start kibana

sudo systemctl enable kibana

Nainstalovat Filebeat

Filebeat je software, který běží na klientském počítači. Odesílá protokoly na server Logstash pro analýzu nebo Elasticsearch pro uložení v závislosti na konfiguraci.

Nainstalujte podporu wget a HTTPS pro apt.

sudo apt install -y wget apt-transport-https curl

Balíčky ELK lze získat z úložiště Elastic.

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

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

Nainstalujte Filebeat pomocí následujícího příkazu.

sudo apt update

sudo apt install -y filebeat-oss

Hlavní konfigurační soubor filebeat je /etc/filebeat/filebeat.yml.

sudo nano /etc/filebeat/filebeat.yml

Potřebujeme tento soubor upravit, abychom mohli odesílat protokoly na server Logstash.

Níže uvedené konfigurace odešle syslog (/var/log/syslog) na server Logstash. Pro toto demo jsem zakomentoval /var/log/*.log, abych se vyhnul odesílání všech protokolů na server Logstash.

.  .  .

filebeat.inputs:

# Each - is an input. Most options can be set at the input level, so
# you can use different inputs for various configurations.
# Below are the input specific configurations.

- type: log

  # Change to true to enable this input configuration.
  enabled: true

  # Paths that should be crawled and fetched. Glob based paths.
  paths:
    - /var/log/syslog
    
.  .  .

V sekci Výstupy zakomentujte sekci output.elasticsearch:protože nebudeme ukládat přihlášení do Elasticsearch.

Nyní přejděte na řádek output.logstash:a upravte položky tak, aby se protokoly posílaly do protokolu Logstash, a uveďte cestu ke zkopírovanému souboru SSL.

Poznámka: Nahraďte „192.168.0.10“ IP adresou serveru Logstash.

.   .   .

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

.   .   .

Restartujte službu Filebeat.

sudo systemctl restart filebeat

Přístup ke Kibaně

K webovému rozhraní Kibana se můžete dostat pomocí následující adresy URL.

http://vaše-ip-adresa:5601/

NEBO

http://název-vašeho-servisu:5601

Při prvním přihlášení musíte namapovat index filebeat. Klikněte na Prozkoumat sám k vytvoření vzoru indexu.

Klikněte na Nabídka (ikona Hamburger)>> Správa zásobníku>>Vzory indexu>> Vytvořit vzor indexu .

Do pole Vzor indexu zadejte následující a klikněte na Další krok.

filebeat-*

Vyberte @timestamp a poté klikněte na Vytvořit vzor indexu.

@timestamp

Projděte si pole v indexu a jejich základní typ zaznamenaný Elasticsearch.

Kliknutím na Objevit v levé navigaci zobrazíte příchozí protokoly z klientského počítače.

Závěr

To je vše. Doufám, že jste se naučili, jak nainstalovat ELK stack na Debian 10 / Debian 9. Podělte se prosím o svůj názor v sekci komentářů.


Debian
  1. Jak nainstalovat Elasticsearch na Debian Linux

  2. Jak nainstalovat Elasticsearch na Debian 9

  3. Jak nainstalovat Elasticsearch na Debian 10

  1. Jak nainstalovat ELK na Ubuntu 20.04

  2. Jak nainstalovat ELK Stack na RHEL 8

  3. Jak nainstalovat LAMP Stack na Debian 10

  1. Jak nainstalovat ELK Stack na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat ELK Stack na Ubuntu a Debianu

  3. Jak nainstalovat Elasticsearch na Debian 11 Bullseye