V tomto tutoriálu vás provedeme procesem spuštění Logstashe v kontejneru Docker se základní konfigurací.
Požadavky:
Než začneme s výukovým programem, ujistěte se, že máte následující:
- Nainstalovaný Docker na vašem hostitelském počítači (doporučuje se verze 23 a vyšší)
- Na vašem počítači je nainstalována aplikace Docker Compose
Po splnění daných požadavků můžeme pokračovat v tutoriálu.
Nastavte konfigurační soubor Logstash
Logstash používá konfigurační soubory k definování toho, jak jsou data přijímána, filtrována a odesílána na výstup. Existuje celá řada možností, které můžete nakonfigurovat, jak můžete odkazovat na oficiální dokumentaci.
V našem příkladu se soustředíme na základní konfiguraci, která ingestuje data ze souboru protokolu, filtruje je pro odpovídající záznamy a odesílá data do souboru.
Vytvořte soubor s názvem „logstash.conf“ a přidejte konfiguraci následovně:
vstup {soubor {
cesta => '/var/log/apache/access.log'
počáteční_pozice => 'začátek'
sincedb_path => '/dev/null'
ignore_older => 0
}
}
filtr {
if [zpráva] =~ 'CHYBA' {
Grok {
zápas => { 'zpráva' => '%{COMBINEDAPACHELOG}' }
}
}
}
výstup {
soubor {
cesta => '/var/log/apache/error_logs.log'
}
}
Předchozí soubor definuje konfiguraci, jak je znázorněno v následujícím:
- Vstupní sekce – Vstupní sekce používá zásuvný modul pro zadávání souborů ke čtení souboru protokolu Apache umístěného v /var/log/apache/access.log.
- Poté nastavíme počáteční pozici na začátku, což umožňuje Logstashi číst celý soubor od začátku.
- Sincedb_path – Tento parametr nám umožňuje zakázat sledování sincedb Logstash nastavením hodnoty na /dev/null. To zajišťuje, že Logstash vždy čte od začátku souboru.
- Ignore_older – Nastavením hodnoty tohoto parametru na 0 umožní Logstash zpracovat všechny záznamy souboru protokolu.
- Sekce filtr – V sekci filtr definujeme vzor filtru pro kontrolu, zda zpráva protokolu obsahuje slovo ERROR. Můžete upravit podmínky pro filtrační bloky a filtrovat pro přesnější shody v souboru.
- Pokud je podmínka splněna, použijeme filtr grok k analýze řádku protokolu Apache pomocí vzoru COMBINEDAPACHELOG, který je vestavěným vzorem v Logstash pro analýzu protokolů Apache.
- Výstupní sekce – Tato sekce nám umožňuje definovat výstupní formát pro odpovídající položky.
- V našem případě je zapisujeme do souboru /var/log/apache/error_logs.log pomocí parametru path.
To by nám mělo poskytnout základní konfiguraci Logstashe, která nám umožní předvést některé základní funkce Logstashe.
Další informace o vytváření a konfiguraci kanálů Logstash naleznete v následujícím poskytnutém zdroji dokumentace:
https://www.elastic.co/guide/en/logstash/current/configuration.html
Vytvořte soubor Dockerfile
Jakmile definujeme konfigurace Logstash, můžeme pokračovat a naučit se spouštět kontejner. Ve stejném adresáři jako soubor „logstash.conf“ vytvořte nový soubor s názvem „Dockerfile“.
Upravte tento soubor a přidejte položky následovně:
Z docker.elastic.co/logstash/logstash:8.9.2ZKOPÍROVAT logstash.conf /usr/share/logstash/pipeline/logstash.conf
V uvedeném příkladu definujeme základní obrázek jako oficiální obrázek Logstash pomocí verze 8.9.2.
Poté zkopírujeme soubor „logstash.conf“, který jsme vytvořili, do /usr/share/logstash/pipeline/logstash.conf v obrázku.
Vytvořte Docker Image
Dále přejděte do adresáře, který obsahuje konfigurační soubor Dockerfile a Logstash. Spusťte následující příkaz pro vytvoření obrázku:
$ sestavení dockeru -t custom-logstash-image .
Spusťte Logstash Container
Nyní, když jsme vytvořili obraz Dockeru, můžeme spustit kontejner Logstash pomocí příkazu Docker „run“ následovně:
$ docker spustit -d --název logstash-server custom-logstash-imageTo by mělo spustit kontejner Logstash pomocí obrazu, který jsme vytvořili v předchozím kroku.
Ověřte protokoly kontejneru Logstash
Chcete-li ověřit, zda Logstash běží správně, můžete zkontrolovat protokoly kontejneru pomocí následujícího příkazu:
$ protokoly dockeru < název_kontejneru >Výstup:
Závěr
V tomto kurzu jste se naučili, jak můžete rychle nastavit server Logstash, který běží jako Docker, pomocí vlastního konfiguračního souboru. Doporučujeme zkontrolovat dokumentaci o parametrech obrazu a možnostech konfigurace.