Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
project:elk [2018/02/23 10:10] cyberian [Konfigurace Logstash] |
project:elk [2018/02/27 08:49] cyberian |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== ELK stack v 6.2.1 ====== | ====== ELK stack v 6.2.1 ====== | ||
+ | | Project owner:| [[user: cyberian|Cyberian]]| | ||
{{:project:16x16warning-icon.png?nolink |}} Tento projekt není prozatím celý hotový. | {{:project:16x16warning-icon.png?nolink |}} Tento projekt není prozatím celý hotový. | ||
- | Cíl využití je sběr syslogů vyhledávání v nich a jejich vizualizace na OS Debian 9.3.0 | + | Cíl využití je sběr syslogů, vyhledávání v nich a jejich vizualizace na OS Debian 9.3.0 |
- | Objem logů se v mé projektu odhaduje asi 30GB za 1 měsíční časové okno | + | Objem logů se v mém projektu odhaduje na asi 30GB za 1 měsíční časové okno |
{{:project:elk-infrastructure.png?nolink|}} | {{:project:elk-infrastructure.png?nolink|}} | ||
Line 32: | Line 33: | ||
===== ElasticSearch ===== | ===== ElasticSearch ===== | ||
- | Pozor na verzi, neinstalovat zbrkle :). Měl jsem v apt prehistorickou verzi 1.6.2. Přidáme tedy repozitář no novou verzi. Což je v době tohoto návodu 6.2.1. Udržujte vždy stejné verze všech 3 služeb stejné, jinak vás čekají ošklivé komplikace. Nejprve si přidáme apt-key: | + | Pozor na verzi, neinstalovat zbrkle :). Měl jsem v apt prehistorickou verzi 1.6.2. Přidáme tedy repozitář no novou verzi. Což je v době tohoto návodu 6.2.1. Udržujte vždy verze všech 3 služeb stejné, jinak vás čekají ošklivé komplikace. |
+ | Nejprve si přidáme apt-key: | ||
<code>wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add - | <code>wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add - | ||
Line 45: | Line 47: | ||
Nastavit si network host na IP daného PC, případně pokud hodláte mít všechny služby na jednom PC, pak na localhost, aby se nikdo nemohl přihlásit z venku. Warn: Přes http API je totiž možné server klidně i vypnout :) | Nastavit si network host na IP daného PC, případně pokud hodláte mít všechny služby na jednom PC, pak na localhost, aby se nikdo nemohl přihlásit z venku. Warn: Přes http API je totiž možné server klidně i vypnout :) | ||
- | Po uložení provést restart služby a její přidání do příslušného runlevelu. Na Debianu 9 je však systemd. | + | Po uložení provést restart služby a její přidání do příslušného runlevelu. Na Debianu 9 je systemd. |
<code>service elasticsearch restart | <code>service elasticsearch restart | ||
update-rc.d elasticsearch defaults 95 10 | update-rc.d elasticsearch defaults 95 10 | ||
Line 52: | Line 54: | ||
Ke kontrole: | Ke kontrole: | ||
- | *Zkontrolovat zda po startu systému startuje elasticsearch (doporučuji použít můj oblíbený htop na přehled spuštěných procesů) nebo ps -aux | + | *Zkontrolovat zda po startu systému startuje elasticsearch |
+ | <code>systemctl status elasticsearch</code> | ||
*Zkontrolovat zda se zobrazí při http přístupu na port 9200 něco podobného: | *Zkontrolovat zda se zobrazí při http přístupu na port 9200 něco podobného: | ||
Line 66: | Line 69: | ||
*server.name dle libosti | *server.name dle libosti | ||
*elasticsearch.url: "http://192.168.10.2:9200" | *elasticsearch.url: "http://192.168.10.2:9200" | ||
- | *logging.dest: /var/log/kibana/kibana.log (zde opatrně. Pokud zvolíte vlastní cestu, musí mít user pod kterým spouštíte kibanbu přístup do adr. /var/log/kibana pro zápis a čtení | + | *logging.dest: /var/log/kibana/kibana.log (zde opatrně. Pokud zvolíte vlastní cestu, musí mít user pod kterým spouštíte kibanu přístup do adr. /var/log/kibana pro zápis a čtení |
{{:project:16x16warning-icon.png?nolink |}}**na začátku doporučuji měnit pouze server.host ať si nekomplikujete řešení případných chyb** | {{:project:16x16warning-icon.png?nolink |}}**na začátku doporučuji měnit pouze server.host ať si nekomplikujete řešení případných chyb** | ||
Line 116: | Line 119: | ||
<code>apt-get update | <code>apt-get update | ||
Apt-get –y install logstash</code> | Apt-get –y install logstash</code> | ||
+ | Dále nainstalujeme grok k parsování dat: | ||
+ | <code>apt-get –y install grok</code> | ||
===== Generování SSL certifikátů ===== | ===== Generování SSL certifikátů ===== | ||
Line 137: | Line 142: | ||
===== Konfigurace Logstash ===== | ===== Konfigurace Logstash ===== | ||
- | Konfigurační soubory jsou ve formátu json, takže pozor na mezery a odsazení | + | Konfigurační soubory jsou ve formátu json, takže pozor na mezery a odsazení. |
+ | Vytvoříme konfigurační soubory pro vstup, filtraci a výstup do elasticsearch. | ||
+ | |||
+ | ==== Vstup ==== | ||
Vytvoříme soubor 02-beats-input.conf: | Vytvoříme soubor 02-beats-input.conf: | ||
Line 151: | Line 159: | ||
} | } | ||
}</code> | }</code> | ||
+ | |||
+ | ==== Filtr ==== | ||
Vytvoříme soubor 10-syslog-filter.conf: | Vytvoříme soubor 10-syslog-filter.conf: | ||
Line 172: | Line 182: | ||
Tento filter se dívá po logu typu „syslog“ skrze FileBeat a pokouší se použít grok k parsování příchozích syslog logů k tomu, aby je udělal strukturované a dotazovatelné. | Tento filter se dívá po logu typu „syslog“ skrze FileBeat a pokouší se použít grok k parsování příchozích syslog logů k tomu, aby je udělal strukturované a dotazovatelné. | ||
- | Dále nainstalujeme grok k parsování dat: | ||
- | <code>apt-get –y install grok</code> | ||
Nyní vytvoříme konfigurační soubor 30-elasticsearch-output.conf: | Nyní vytvoříme konfigurační soubor 30-elasticsearch-output.conf: | ||
+ | |||
+ | ==== Výstup ==== | ||
<code>nano /etc/logstash/conf.d/30-elasticsearch-output.conf | <code>nano /etc/logstash/conf.d/30-elasticsearch-output.conf | ||
Line 197: | Line 207: | ||
update-rc.d logstash defaults 96 9</code> | update-rc.d logstash defaults 96 9</code> | ||
{{:project:16x16warning-icon.png?nolink |}}Pokud se při instalaci logstash nevytvořil skript pro démona logstash v /etc/init.d, pak je tu ještě jedna záchrana (iniciativě se meze nekladou, můžete si ho napsat i sami). V instalačním adresáři logstash pod /usr/share/logstash/bin se nachází **system-install** | {{:project:16x16warning-icon.png?nolink |}}Pokud se při instalaci logstash nevytvořil skript pro démona logstash v /etc/init.d, pak je tu ještě jedna záchrana (iniciativě se meze nekladou, můžete si ho napsat i sami). V instalačním adresáři logstash pod /usr/share/logstash/bin se nachází **system-install** | ||
- | <code> /usr/share/logstash/bin/system-install /etc/logstash/startup.options</code> | + | <code> /usr/share/logstash/bin/system-install /etc/logstash/startup.options |
+ | systemctl enable logstash | ||
+ | </code> | ||
+ | Po restartu se ujistíme o tom, že služba běží: | ||
+ | <code>systemctl status logstash</code> | ||
+ | {{ :project:logstash01.jpg?nolink |}} | ||
Line 207: | Line 222: | ||
zjistit si info o System D, System V, Upstart, init.d | zjistit si info o System D, System V, Upstart, init.d | ||
+ | |||
+ | zjistit si info o FileBeat filtrech a indexech; Logstash, ElasticSearch | ||
===== Zdroje ===== | ===== Zdroje ===== | ||
- | 1. https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-elk-stack-on-ubuntu-14-04 | + | 1. How to install ELK on Ubuntu https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-elk-stack-on-ubuntu-14-04 |
+ | |||
+ | 2. Complete Guide to ELK https://logz.io/learn/complete-guide-elk-stack/#An-Elasticsearch-Tutorial | ||
- | 2. https://logz.io/learn/complete-guide-elk-stack/#An-Elasticsearch-Tutorial | + | 3. Set up Prospectors https://www.elastic.co/guide/en/beats/filebeat/master/configuration-filebeat-options.html |