Monitorovanie servera s Elastic Stack
- Autor: Miroslav Kohútik
- Verzia Elastic Stack: 6.7.0
- Operačný systém : Ubuntu 16.04
Elastic Stack je skupina produktov od spoločnosti Elastic postavených okolo databázy Elastisearch, ktoré sú navrhnuté na prácu s dátami z akéhokoľvek zdroja.
V tomto článku si ukážeme ako monitorovať stav služby Elasticsearch a záťaž servera za použitia služieb Elastic Stack.
Pred tým než začneme, nainštalujeme si Elasticsearch, návod nájdeme v sekcii Príprava pred inštaláciou na začiatku tohto článku.
X-pack
X-pack je rozšírenie pre Elastic Stack, ktoré poskytuje bezpečnostné, výstražné, monitorovacie a hlásiace služby v jednom balíčku. Od Elastic Stack verzie 6.3 je X-Pack súčasťou každého komponentu Elastic Stack a tým odpadá predošlá nutnosť osobitnej inštalácie.
Kibana
Kibana je komponent Elastic Stacku pre vizualizáciu dát z Elasticsearchu. Pre potreby monitorovania sprístupňuje monitorovacie dáta, ktoré generuje X-Pack.
Inštalácia Kibany
Stiahneme a nainštalujeme si verejný GPG kľúč
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Stiahneme si inštalačný balíček Kibany
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.7.0-amd64.deb
Rozbalíme a nainštalujeme balíček s Kibanou
sudo dpkg -i kibana-6.7.0-amd64.deb
Konfigurácia Kibany
Teraz by sme už mali mať Kibanu pripravenú na použitie, avšak iba na lokálnom zariadení. Ak sa chceme na Kibanu pripájať zo vzdialeného zariadenia, musíme ešte nastaviť IP adresu, na ktorej chceme mať dostupné webové rozhranie Kibany.
Otvoríme konfiguračný súbor kibana.yaml
sudo nano /etc/kibana/kibana.yaml
V súbore nájdeme riadok #server.host: “localhost”, odkomentujeme ho (vymažeme znak “#” na začiatku) a prepíšeme ho na server.host: “x.x.x.x”, kde x.x.x.x je IP adresa zariadenia, na ktorom práve inštalujeme Kibanu. V prípade, že náš Elasticsearch beží na inej adrese alebo porte ako localhost:9200, musíme v tomto súbore nasmerovať Kibanu na správnu IP adresu alebo port.
Ak chceme aby sa Kibana spustila pri zapnutí servera spustíme nasledujúce dva príkazy
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable kibana.service
Teraz už môžeme Kibanu spustiť nasledovným príkazom
sudo systemctl start kibana.service
Nasledujúcim príkazom skontrolujeme status Kibany
sudo systemctl status kibana.service
K webovému rozhraniu Kibany pristupujeme cez prehliadač zadaním kombinácie IP adresy servera a defaultného portu Kibany: x.x.x.x:5601.
K monitorovacím dátam sa dostaneme v záložke monitoring. Pri prvom spustení sa nám zobrazí informácia o tom, že monitorovanie je momentálne vypnuté, zapneme ho kliknutím na tlačidlo “Turn on monitoring”.
Stav služby Elasticsearch na serveri potom môžeme sledovať kliknutím na “Nodes”, kde sa nám zobrazí zoznam zariadení, na ktorých je distribuovaný Elasticsearch.
Metricbeat
X-pack zbiera len štatistiky o stave jednotlivých komponentov Elastic Stack. Na monitorovanie stavu celkového zaťaženia servera je v Elastic Stacku určený komponent Metricbeat.
V prípade, že máme funkčnú Kibanu, inštalácia Metricbeatu je jednoduchá.
Stiahneme a nainštalujeme Metricbeat balíček
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-6.7.0-amd64.deb
sudo dpkg -i metricbeat-6.7.0-amd64.deb
Upravíme súbor /etc/metricbeat/metricbeat.yml pridaním nasledujúcich riadkov
setup.kibana:
host: "192.168.1.186:5601"
output.elasticsearch:
hosts: ["localhost:9200"]
Povolíme systémový modul, ktoý umožňuje Metricbeatu zbierať monitorovacie dáta
sudo metricbeat modules enable system
Nakonfigurujeme Metricbeat:
sudo metricbeat setup
Spustíme Metricbeat:
sudo systemctl start metricbeat.service
Teraz by sme už mali vidieť štatistiky o stave servera v záložke dashboard zobrazením “[Metricbeat System] Host overview”.
Zdroje:
- Kibana user guide – Používateľská príručka Kibany
- Metricbeat reference – Dokumentácia Metricbeatu