Co je Kibana?
Kibana je bezplatná a otevřená frontendová aplikace, která je umístěna na vrcholu Elastic Stacku a poskytuje možnosti vyhledávání a vizualizace dat pro indexovaná data v Elasticsearch. Běžně známý jako nástroj pro tvorbu grafů pro Elastic Stack (označovaný jako ELK Stack po Elasticsearch, Logstash a Kibana). Logstash je bezplatný a otevřený kanál pro zpracování dat na straně serveru, který získává data z mnoha zdrojů, transformuje je a poté je odesílá do vašeho oblíbeného úložiště.
Kibana také funguje jako uživatelské rozhraní pro monitorování, správu a zabezpečení.
Kibana + Elasticsearch
Pro snazší práci s Elasticem je vhodná právě Kibana. Ta má grafické rozhraní, které se umí propojit a dokáže nám ukázat data v přívětivější podobě. Dokáže lépe vyhledávat v uložených datech, vytvářet vizualizace grafů a tabulek a vytvoření komplexních dashboardů.
Díky Kibaně získáte
- Přehlednou analýzu logů
- Monitoring infrastruktury
- APM – Application Performance Monitoring
- Přehled bezpečnostních akcí
- Business analytics
To na jednu monitorovací aplikaci ujde. V dalším článku, se dozvíte, jak ji správně nainstalovat na naše servery s VPS Centrem.
Jak nainstalovat Kibanu?
Pokud jste už nainstalovali Elasticsearch z předchozího návodu, tak tento krok můžete přeskočit. Jedná se pouze o přidání repozitáře.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add - sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
Jakmile máme repozitář přidaný můžeme Kibanu nainstalovat.
aptitude install kibana
Poté musíme v souboru /etc/kibana/kibana.yml upravíme tyto řádky na:
server.basePath: "/kibana" server.rewriteBasePath: true
Poté upravíme nastavení web serveru v souboru /etc/apache2/sites-available/vpsID.vas-server.cz.conf a vydefinujeme toto makro:
# ################ Macro vpsID.vas-server.cz-kibana #################### vpsID.vas-server.cz-kibana> ProxyRequests On ProxyPreserveHost On ProxyPass http://127.0.0.1:5601/kibana ProxyPassReverse http://127.0.0.1:5601/kibana ## Auth AuthType Basic AuthName "Kibana" AuthUserFile /etc/apache2/scripts/kibana-passwd Require valid-user
Poté v makru-ssl přidáme na konec řádek s Kibanou. Pozor! Instalaci budete mít dostupnou pouze na HTTPS://, takže si to při vložení do adresáře zkontrolujte.
# ################ Only vpsID.vas-server.cz-ssl #################### DocumentRoot /www/hosting/vas-server.cz/www/ Servername vpsID.vas-server.cz Use vpsID.vas-server.cz Use vpsID.vas-server.cz-admin Use vpsID.vas-server.cz-adminer Use vpsID.vas-server.cz-phpmyadmin Use vpsID.vas-server.cz-munin Use vpsID.vas-server.cz-roundcube Use vpsID.vas-server.cz-phppgadmin Use vpsID.vas-server.cz-ssl Use vpsID.vas-server.cz-kibana
Pak si vyvoříme heslo pro přístup ke Kibaně. LOGIN = vaše uživatelské jméno a můžete jej změnit podle potřeby. Poté 2x zadáte heslo, které chcete mít. Doporučujeme si nějaký vygenerovat. Alespoň 15 znaku [.,:-=()[]{}a-zA-Z0-9]
htpasswd -c /etc/apache2/scripts/kibana-passwd LOGIN
Pak už nám stačí aktivovat poslední věc. Modul v Apache2 proxy_http příkazem:
a2enmod proxy_http
Restartovat webserver
webserver_restart.sh NEBO systemctl restart apache2
Pak už nám stačí pouze aktivovat Kibanu pomocí příkazu.
systemctl enable kibana --now
Zkontrolovat, jestli běží.
systemctl status kibana
A následně můžeme jít na adresu a přihlásit se.
https://vpsID.vas-server.cz/kibana
Po přihlášení uvidíte tuto stránku:
![](https://cms.vas-hosting.cz/wp-content/uploads/2023/09/prvni_prihlaseni.png)
Teď je třeba Kibaně říci, jaká data a logy má sbírat. Tak klikneme na “Add data”.
Nejdříve vybereme, které logy má sbírat.
![](https://cms.vas-hosting.cz/wp-content/uploads/2023/09/kibana_logy-1024x632.png)
To je na každém z vás, ale určitě se nám budou hodit logy od:
- Elasticsearch + Kibana
- Apache / příp. Nginx
- MySQL / příp. PostgreSQL
- Logy mailserveru
- Systémové logy
Abychom mohli různé moduly aktivovat. Potřebujeme nainstalovat Filebeat. Proces vypadá následovně
- Nainstalovat Filebeat na každý systém/server, který chceme monitorovat
- Specifikovat lokaci logů
- Analyzovat data a roztřídit je do polí a odeslat je do Elasticsearch
- Vizualizovat data z logu v Kibaně
Instalace Filebeat (Debian package)
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.11.1-amd64.deb dpkg -i filebeat-7.11.1-amd64.deb
Propojení s Elastic stackem
Musíme upravit soubor v /etc/filebeat/filebeat.yml
output.elasticsearch: hosts: ["localhost:9200"] ### Hostname a port, kde filebeat najde ES
### Pokud to je potřeba, můžete specifikovat uživatele, kteří mají potřebná oprávnění. Elastic doporučuje nastavit asi 4 uživatele. Tak záleží, jak moc si na bezpečnost potrpíte. Pak stačí pod “hosts” přidat 2 řádky
username: "filebeat_internal" password: "YOUR_PASSWORD"
Ještě aktivujeme kibanu ve stejném souboru takto:
![](https://cms.vas-hosting.cz/wp-content/uploads/2023/09/kibana_konfigurace.png)
Sbírání dat z logů
Existuje několik způsobů, jak sbírat data pomocí Filebeat:
- Moduly pro sběr dat
- Pomocí ECS
- Ruční konfigurace Filebeat
My si ukážeme, jak zprovoznit moduly pro sběr dat.
filebeat modules list ### Nám ukáže veškeré dostupné moduly k aktivování
My jsme chtěli aktivovat, Elastic search, Kibanu, apache, mysql a systém.
filebeat modules enable elasticsearch kibana system apache mysql
Pak ve složce /etc/filebear/modules.d/ ### najděte konkrétní configy modulů a upravte cesty k vašim logům. Pokud je necháte prázdné filebeat ponechá defaultní lokace podle vašeho OS.
Poslední nastavení před spuštěním
Filebeat přichází s předdefinovanými prostředky pro analýzu, indexování a vizualizaci vašich dat. Ve složce, kde jste prováděli instalaci spusťte příkaz:
filebeat setup -e
Nemělo by vám to skončit na žádné chybě a měli byste vidět něco jako.
![](https://cms.vas-hosting.cz/wp-content/uploads/2023/09/kibana_setup-1024x458.png)
Teď už nám zbývá poslední věc. Nastartovat filebeat pomocí příkazu:
service filebeat start service filebeat status
![](https://cms.vas-hosting.cz/wp-content/uploads/2023/09/start_filebeat-1024x243.png)
A teď půjdeme na URL adresu, kde máme kibanu a podíváme se na první data.
Vizualizace dat v Kibaně
Jakmile se přihlásíte, tak klikněte na levé menu a běžte do sekce Analytics > Overview.
![](https://cms.vas-hosting.cz/wp-content/uploads/2023/09/menu_overview.png)
Dostanete se sekce, kde můžete vybírat data a udělat z nich dashboardy, nebo pouze objevovat a hledat v logách či vytvářet heatmapy.
![](https://cms.vas-hosting.cz/wp-content/uploads/2023/09/kibana_overview-1024x606.png)
Jenom na demonstraci jsme si vybrali Mapy a chtěli jsme si zobrazit, odkud na můj server přicházejí požadavky. Index pattern vybereme filebeat a chceme zobrazit source.geo.location. Výsledek po chvilce vypadá takto. Nejvíce požadavků jde samozřejmě z Evropy a pak boti z Moskvy nebo Číny. 🙂 Klasika.
![](https://cms.vas-hosting.cz/wp-content/uploads/2023/09/source_geo_location-1024x508.png)
Následné grafy si můžete uložit a dělat z nich zajímavé dashboardy, které se vám budou zobrazovat. To už záleží na každém z vás, jaká data a logy chce kontrolovat a hlidat.
V sekci Add data / Sample data můžete vybrat nějaké ukázky, díky kterým nasbíráte inspiraci pro svoje tabulky. Např. takhle vypadají webové logy.
![](https://cms.vas-hosting.cz/wp-content/uploads/2023/09/sample_data_weblogs-1024x652.png)
Jak hlídat důležité metriky systému?
Ještě si ukážeme, jak hlídat důležité metriky systému. Teď místo Filebeat musíme instalovat Metricbeat. Je to dost podobné, takže to už pro nás bude hračka. 🙂
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.11.1-amd64.deb dpkg -i metricbeat-7.11.1-amd64.deb
Půjdeme do složky a v souboru metricbeat.yml uděláme úpravy, jako u Filebeat.
![](https://cms.vas-hosting.cz/wp-content/uploads/2023/09/metricbeat_yml.png)
Teď můžeme aktivovat potřebné moduly. Pro dostupné modely pustíme příkaz.
metricbeat modules list
A více modelů najednou aktivujeme takto:
metricbeat modules enable apache system elasticsearch kibana php_fpm mysql munin linux sql
Pak ve složce /etc/metricbeat/modules.d/ ### najděte konkrétní configy modulů a upravte nastavení podle vašeho systému. Pokud je necháte prázdné metricbeat ponechá defaultní lokace podle vašeho OS.
Pak zase spustíme nastavení a aktivujeme metricbeat.
metricbeat setup -e service metricbeat start service metricbeat status
![](https://cms.vas-hosting.cz/wp-content/uploads/2023/09/start_metricbeat-1024x316.png)
A teď můžeme zpátky ke Kibaně. Klikneme na menu vlevo a půjdeme do Observability > Metrics.
![](https://cms.vas-hosting.cz/wp-content/uploads/2023/09/overview_metrics.png)
Kde máte 3 sekce. Inventory, Metrics Explorer a Settings. Chvíli trvá, než se nasbírají data. Můžete se ale podívat, co všechno je dostupné a jak budete chtít poskládat vlastní dashboard.
![](https://cms.vas-hosting.cz/wp-content/uploads/2023/09/metrics_explorer-1024x585.png)
Monitoring služeb – Heartbeat
Jdeme na poslední důležitou věc, a to jak hlídat pomocí Kibany vaše systémové služby. Princip je jednoduchý, zadáte URL a jak často se má Heartbeat zeptat, are you alive?
curl -L -O https://artifacts.elastic.co/downloads/beats/heartbeat/heartbeat-7.11.1-amd64.deb dpkg -i heartbeat-7.11.1-amd64.deb
Zase v souboru /etc/heartbeat/heartbeat.yml nastavíme propojení s ES a Kibanou.
![](https://cms.vas-hosting.cz/wp-content/uploads/2023/09/metricbeat_yml1.png)
A ve stejném konfiguračním souboru nastavíme služby, které chceme monitorovat.
Máme 3 možnosti:
- ICMP – Monitor icmp použijte, když chcete jednoduše zkontrolovat, zda je služba k dispozici. Tento monitor vyžaduje přístup root.
- TCP – Pro připojení přes TCP použijte monitor tcp. Tento monitor můžete volitelně nakonfigurovat tak, aby ověřoval koncový bod odesíláním a / nebo přijímáním vlastního paylodu
- HTTP – Pro připojení přes HTTP použijte monitor http. Tento monitor můžete volitelně nakonfigurovat, abyste ověřili, že služba vrací očekávanou odpověď, například konkrétní stavový kód, záhlaví odpovědi nebo obsah.
Protokoly tcp a http podporují SSL / TLS a některá nastavení proxy serveru.
Já jsem si pro testování zprovoznil monitoring SSH, ping na server a samozřejmě monitoring VPS Centra. Doporučujeme ale mrknout na dokumentaci přímo od Heartbeat, kde máte více příkladů a vysvětlivek.
![](https://cms.vas-hosting.cz/wp-content/uploads/2023/09/monitoring_kibana.png)
Jestli budeme mít problém s nastavením .yml souboru, tak doporučujeme tento online checker pro správnou syntaxi.
A už pojedeme zase starou klasiku.
heartbeat setup -e service heartbeat-elastic start service heartbeat-elastic status
Vrátíme se do levého menu v Kibaně a půjdeme do sekce “Uptime”.
![](https://cms.vas-hosting.cz/wp-content/uploads/2023/09/kibana_uptime.png)
A už uvidíte přehledný dashboard, kde máte své monitoringy na jednom místě. Můžete vyhledávat konkrétní věci nebo jí využívat jako celkový přehled o dostupnosti služeb.
![](https://cms.vas-hosting.cz/wp-content/uploads/2023/09/uptime-1024x547.png)
Doufáme, že návod přinese spousty užitečných informací, rad a hlavně inspiraci. Oba nástroje toho mají ve svém arzenálu spousty, a stačí pouze objevit ty funkce, které přinesou vám tu největší přidanou hodnotu.