ELK stack je zkrácen jako Elasticsearch, Logstash a Kibana stack, open source plně vybavený analytický zásobník pomáhá analyzovat jakákoliv strojová data. Používá se jako alternativa k jinému komerčnímu softwaru pro analýzu dat, jako je Splunk.
Doufám, že nebudete vyžadovat zavedení zásobníku ELK, pokud jej stále potřebujete; Napsal jsem mnoho výukových programů o konfiguraci zásobníku ELK na operačních systémech Linux.
Můžete sledovat níže uvedené návody, abyste pochopili, co je ELK,
- Jak nainstalovat zásobník ELK na Ubuntu 16.04
- Jak nainstalovat ELK stack na CentOS 7 / RHEL 7
V tomto tutoriálu uvidíme, jak spustit zásobník ELK na kontejneru Docker namísto jejich instalace na hostitelský operační systém.
Zásobník ELK můžeme spustit buď pomocí Docker Native CLI, nebo Docker compose.
Předpoklady:
Vše, co potřebujete, je mít nainstalovaný nejnovější Docker ve vašem systému. Ujistěte se, že verze dockeru je 1.6 a novější, ale některé obrázky, např. elasticsearch je oficiálně podporován pouze na Dockeru verze 1.12.1
- Jak nainstalovat Docker na Ubuntu 16.04 / 15.10 / 14.04
- Jak nastavit Docker na CentOS 7 / RHEL 7
- Jak nainstalovat Docker na Fedoru 24 / 23
Jak nainstalovat Docker na openSUSE
Obrázky Dockeru, které zde používáme, jsou oficiální obrázky z Elastic
Elastické vyhledávání:
Pro začátek spustíme kontejner Elastisearch. Obrázek Elasticsearch je nakonfigurován s objemem na /usr/share/elasticsearch/data pro zachování trvalých indexových dat. Tuto cestu tedy použijte, pokud chcete data uložit do připojeného svazku, což je /esdata.
Vytvořte /esdata adresář na hostiteli Docker.
mkdir /esdata
Spuštěním následujícího příkazu vytvořte kontejner Elasticsearch Docker. Cesta hostitele je vždy na prvním místě v příkazovém řádku a :, pak vnitřní objem kontejneru.
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -v /esdata:/usr/share/elasticsearch/data elasticsearch
K získání odpovědi z Elasticsearch použijte CURL.
curl -X GET http://localhost:9200{ "name" :"Red Skull", "cluster_name" :"elasticsearch", "version" :{ "number" :"2.3.5", "build_hash" :"90f439ff60a3c0f497f91663701e64ccd01edbb4", "build_timestamp" :"2016-07-27T10:36:52Z", "Build_snapshot" : 5 for Search":" 5 verze false"_5."
Logstash:
Jakmile bude Elasticsearch spuštěn a spuštěn, budeme nyní připraveni spustit kontejner Logstash. Před spuštěním kontejneru Logstash vytvořte konfigurační soubor pro příjem protokolů z beatů.
Vytvořte adresář a konfigurační soubor na hostiteli Docker.
mkdir /logstashvi /logstash/logstash.conf
Níže uvedený konfigurační soubor obsahuje protokoly s typem protokolu „syslog “ na portu „5044 “a pošlete je do Elasticsearch k indexování.
input { beats { port => 5044 } }filtr {if [type] =="syslog" { grok { match => { "message" => "%{SYSLOGLINE}" } } datum {match => [ "timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]} }}výstup { elasticsearch { hosts => ["elasticsearch:9200"] index => "%{[@metadata ][beat]}-%{+YYYY.MM.dd}" }stdout { kodek => rubydebug }}
Ve výše uvedeném konfiguračním souboru, pokud vidíte výstupní sekci; hostitel elasticsearch je definován jako elasticsearch:9200 . Možná si myslíte, že jak Logstash vyřeší tento hostitel, aby posílal protokoly, nebojte se; Propojení dockeru (–link ) se o to postará.
cd /logstash/
Vytvořte kontejner Logstash zadáním následujícího příkazu.
Kde,
–link elasticsearch-container-name:hostname-in-config-file
docker run -d --name logstash -p 5044:5044 --link elasticsearch:elasticsearch -v "$PWD":/logstash logstash -f /logstash/logstash.conf
Kibana:
Kontejner Kibana nevyžaduje žádnou konfiguraci, vše, co musíte udělat, je pouze propojit kontejner Kibana Docker s kontejnerem Elasticsearch.
docker run --name kibana --link elasticsearch:elasticsearch -p 5601:5601 -d kibana
Ověřit:
Uživatel docker ps příkaz ke kontrole, zda všechny kontejnery běží nebo ne.
Instalace a konfigurace Beats:
Beats jsou tím, kdo sbírá a posílá logy do Logstashe. Instalace a konfigurace beatů jsou mimo rozsah.
- Jak nainstalovat a nakonfigurovat Filebeat na Ubuntu / Debian
- Jak nainstalovat a nakonfigurovat Filebeat na CentOS 7 / RHEL 7
Přístup k rozhraní Kibana:
Pokud jsou všechny kontejnery připraveny a běží podle očekávání, přejděte do webového rozhraní na následující adresu URL.
http://vaše-ip-adresa:5601/Nastavte index rytmu pro zahájení vyhledávání dat pomocí Kibana.
Kliknutím na Discover zahájíte vyhledávání nejnovějších protokolů z filebeatu.
To je prozatím vše.