Pokud musíte spravovat obrovské množství dat, jednoho dne si přejete nástroj, který by jednoduše poukázal na anomálie nebo nekonzistence v datech a upozornil vás v reálném čase.
Co je ElastAlert?
ElastAlert je navržen přesně k tomu. Jedná se o jednoduchý rámec, který upozorní, když zjistí anomálie, špičky nebo jiné vzorce pravidel z dat přidaných do Elasticsearch.
Můžete například nastavovat výstrahu „frekvence“, která vás upozorní, když v čase Y dojde k X počtu událostí.
Nebo možná budete chtít být okamžitě varováni, když dojde k „špičkové“ události, tedy když se rychlost, při které k události dojde, náhle zvýší nebo sníží.
Zahrnuty jsou i další typy pravidel:
- 'flatline' - když je za Y méně než X událostí
- „blacklist / whitelist“ - když se určité pole shoduje s „blacklist“ nebo „whitelist“
- 'any' - když dojde k události, která odpovídá danému filtru
- „změna“ - když má pole ve stanoveném časovém období dvě různé hodnoty
Podporované typy výstrah
V současné době má ElastAlert integrovanou podporu pro následující typy výstrah.
- Příkaz
- E-mailem
- JIRA
- OpsGenie
- SNS
- HipChat
- Slack
- Telegram
- GoogleChat
- Ladit
- Dupat
- úl
Nainstalujte si ElastAlert s Elasticsearch na Ubuntu
V tomto článku vám ukážeme, jak nainstalovat ElastAlert na ubuntu 18.04.
Požadavky
- Elasticsearch
- Data s časovým razítkem ISO8601 nebo Unix
- Python 2.7
- pip, viz požadavky.txt - (https: // github.com / Yelp / elastalert / blob / master / požadavky.txt)
- Balíčky pro ubuntu - python-pip python-dev libffi-dev libssl-dev
Předpoklady instalace
Nainstalujte Python 2.7:
sudo apt-get nainstalovat python-minimal
Zkontrolujte verzi Pythonu:
sudo python --verze
Pak získáte výstup pro python 2.7.
Nainstalujte potřebné balíčky:
sudo apt-get install python-pip python-dev libffi-dev libssl-dev
Existuje několik různých způsobů instalace ElastAlert a zde provedeme instalaci klonováním úložiště git.
Než budeme pokračovat, musíme si nainstalovat „git“. Obvykle Ubuntu 18.04 má git již nainstalovaný.
Zkontrolujte nainstalovanou nebo dostupnou verzi git:
sudo apt-cache policy git
Tím získáte podrobnosti o nainstalované a kandidátské verzi git.
Pokud nevidíte nainstalovanou verzi git, spusťte následující příkaz.
sudo apt-get install git
Budeme klonovat úložiště ElastAlert do složky „/ opt“, proto změňte adresář.
sudo cd / opt
Nyní klonujte úložiště git.
sudo git clone https: // github.com / Yelp / elastalert.sakra
Nyní nainstalujte moduly.
sudo pip install "setuptools> = 11.3 "
nastavení sudo python.py instalace
Může se vám zobrazit taková chyba.
Poté spusťte níže uvedený příkaz a nainstalujte „PyOpenSSL“
sudo pip install PyOpenSSL
Zde se integrujeme do Elastic search 6.X. Takže Elasticsearch 5.Nainstaluje se zde 0+.
sudo pip install "elasticsearch> = 5.0.0 "
Nakonfigurujte ElastAlert
Naklonovali jsme ElastAlert repo do adresáře „/ opt“, proto před pokračováním změňte adresář.
sudo cd / opt / elastalert /
Nyní dostaneme kopii konfigurace.yaml.ukázkový soubor jako konfigurace.yaml
sudo cp config.yaml.příklad konfigurace.yaml
Upravit konfiguraci.soubor yaml.
konfigurace vim.yaml
Odkomentujte následující řádky a upravte je.
Název hostitele ElasticSearch nebo IP
es_host: elk-server
Port ElasticServer
es_port: 9200
Odkomentovat základní ověřování:
es_username: es_password:
Uložte a zavřete soubor.
Vytvořte index ElastAlert.
sudo elastalert-create-index
Vytvoření pravidla
Nyní upravte soubor s názvem „example_frequency.yaml “ve složce„ / opt / elastalert / example_rules / “
sudo vim example_rules / example_frequency.yaml
Odkomentujte a upravte index následujícím způsobem:
index: filebeat- *
Nyní definujte filtr pro výstrahu. Zde filtrujeme klíčová slova s řetězcem „výjimka“.
filtr: - řetězec_ dotazu: dotaz: "zpráva: * výjimka *"
Nakonfigurujte Alter pomocí Slacku. Zde musíte vytvořit kanál Slack a příchozí webhook. Poté přidejte podrobnosti o konfiguraci následujícím způsobem.
upozornění: - "slack" slack: slack_webhook_url: "https: // hooks.ochabnout.com / services / T3YSFN0GL / BFU1HPLKD / BPM2jOlIOzKxbEOHAepu6d26 "slack_username_override:" Fosslinux-Elastic-Bot "slack_channel_override:" #fosslinuxalert "slack_emoji_override:": robot_face: ": robot_face:
Chcete-li vytvořit kanál Slack, můžete postupovat podle následujících kroků.
Konfigurace kanálu Slack pro ElastAlert
Pokud nemáte uvolněný účet, můžete si jej jednoduše zaregistrovat. Přejděte na „uvolnění.com “a zadejte svou e-mailovou adresu a klikněte na„ ZAČÍT “.
Poté klikněte na „vytvořit nový pracovní prostor“ a ověřte svou e-mailovou adresu. Nyní se můžete přihlásit a zobrazit řídicí panel.
Přejít na Procházet aplikace -> Vlastní integrace -> Příchozí Webhooky -> Nová konfigurace
Poté klikněte na „Vytvořit nový kanál“ a vytvořte kanál pro zasílání upozornění.
Poté klikněte na tlačítko „Vytvořit kanál“ a dostanete se na integrační stránku Webhook.
Klikněte na tlačítko „Přidat příchozí integraci WebHooks“. Tím se vytvoří nastavení integrace.
Zkušební pravidlo
Změňte adresář na ElastAlert.
sudo cd / opt / elastalert /
Spuštěním následujícího příkazu otestujte nakonfigurované pravidlo.
sudo elastalert-test-rule example_rules / example_frequency.yaml
Spusťte ElastAlert
Spustíme ElastAlert jako službu na pozadí. Tento příkaz by měl být spuštěn ve složce „/ opt / elastalert /“.
sudo python -m elastalert.elastalert --verbose --rule example_frequency.yaml &
Nyní ElastAlert začne kontrolovat dotazy na Elasticsearch (na serveru ELK). Pokud dojde k zápasu, vystřelí výstrahu na Slacka.
Výstraha spuštěna.
Výstraha přejde na Slack Channel.
To je vše, úspěšně jsme nainstalovali a nakonfigurovali ElastAlert pomocí elastického vyhledávání a také nastavili výstrahy na Slack. Doufáme, že vám tento vyčerpávající výukový program pomůže nainstalovat ElastAlert a nastavit některá pravidla pro snadné spouštění výstrah. Dotazy a zpětná vazba jsou vítány v sekci komentáře.