Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
project:elk [2018/02/23 14:25]
cyberian
project:elk [2018/03/06 15:19]
cyberian [poznámky]
Line 33: 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 46: 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 53: 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 67: 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 109: Line 111:
  
  
-> {{:​project:​16x16warning-icon.png?​nolink |}}kibana měla, možná ještě má bug v tom, že pokud jste příliš aktivním adminem a povolíte vlastní nastavení proměnné pid.file: v /​etc/​kibana.yml tak skončíte chybou na nemožnost vytvoření takového souboru. Musel by se pak upravit startovací skript pro démona kibanu v init.d, nicméně znalí budou vědět a začátečník se dotoho nepustí a promennou ​si v konfigu zakomentuje zpátky .)+> {{:​project:​16x16warning-icon.png?​nolink |}}kibana měla, možná ještě má bug v tom, že pokud jste příliš aktivním adminem a povolíte vlastní nastavení proměnné pid.file: v /​etc/​kibana.yml tak skončíte chybou na nemožnost vytvoření takového souboru. Musel by se pak upravit startovací skript pro démona kibanu v init.d, nicméně znalí budou vědět a začátečník se dotoho nepustí a proměnnou ​si v konfigu zakomentuje zpátky .)
  
 ===== Logstash ===== ===== Logstash =====
Line 117: 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 128: Line 132:
 Pod návěstí [ v3_ca] zapsat: Pod návěstí [ v3_ca] zapsat:
  
-subjectAltName = IP: 192.168.16.2+subjectAltName = IP: 192.168.10.2
  
 **Vytvoření certifikátů:​** **Vytvoření certifikátů:​**
Line 138: 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 152: Line 159:
   }   }
 }</​code>​ }</​code>​
 +
 +==== Filtr ====
  
 Vytvoříme soubor 10-syslog-filter.conf:​ Vytvoříme soubor 10-syslog-filter.conf:​
Line 173: 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 202: Line 211:
 </​code>​ </​code>​
 Po restartu se ujistíme o tom, že služba běží: Po restartu se ujistíme o tom, že služba běží:
 +<​code>​systemctl status logstash</​code>​
 +{{ :​project:​logstash01.jpg?​nolink |}}
  
 +===== Konfigurace FileBeat =====
 +Nastavíme sekci pro Filebeat prospectors pro sbírání logů o které máme zájem.
 +<​code>​nano /​etc/​filebeat/​filebeat.yml
 +-type: log
 +  enabled: true
 +  paths:
 +    - /​var/​log/​remote/​*/​*.log #pouze logy ze subadresaru remote
 +</​code>​
 +Dále nastavíme sekci Elasticsearch output:
 +<​code>​ hosts: ["​192.168.10.2:​9200"​]</​code>​
 +a jako další Logstash output:
 +<​code>​
 +  output.logstash:​
 +    # The Logstash hosts
 +    hosts: ["​192.168.10.3:​5044"​]</​code>​
 +    bulk_max_size:​ 1024 #tento řádek přidáme
  
 +{{:​project:​16x16sign-error-icon.png?​nolink |}} V případě, že služba nenastartuje,​ pak zkuste spustit službu přímo v konzoli s jejími parametry, které lze vidět ve výpisu systemctl status filebeat. V mé instalaci:
 +<​code>​
 +/​usr/​share/​filebeat/​bin/​filebeat -c /​etc/​filebeat/​filebeat.yml -path.home /​usr/​share/​filebeat -path.config /​etc/​filebeat -path.data /​var/​lib/​filebeat -path.logs /​var/​log/​filebeat
 +</​code>​
  
- +===== poznámky ​=====
-==== poznámky ====+
  
 kibana - vega.github.io - kibana custom graphs with vega kibana - vega.github.io - kibana custom graphs with vega
Line 213: Line 243:
  
 zjistit si info o FileBeat filtrech a indexech; Logstash, ElasticSearch zjistit si info o FileBeat filtrech a indexech; Logstash, ElasticSearch
 +
 +openssl.cnf x509_extensions = v3_ca, defaultně od komentované
 +
 +openssl.cnf # req_extensions = v3_req zjistit info kdy seco při čem rozšiřuje
 +
  
 ===== 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. https://​logz.io/​learn/​complete-guide-elk-stack/#​An-Elasticsearch-Tutorial+2. Complete Guide to ELK 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
  
 +4. Openssl.conf Walkthru https://​www.phildev.net/​ssl/​opensslconf.html
  
  
  • project/elk.txt
  • Last modified: 2018/03/08 15:39
  • by cyberian