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:26]
cyberian
project:elk [2018/03/06 15:19]
cyberian [poznámky]
Line 47: 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 54: 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 68: 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 110: 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 118: 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 129: 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 139: 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 153: Line 159:
   }   }
 }</​code>​ }</​code>​
 +
 +==== Filtr ====
  
 Vytvoříme soubor 10-syslog-filter.conf:​ Vytvoříme soubor 10-syslog-filter.conf:​
Line 174: 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 203: 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 214: 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