Ak musíte spravovať obrovské množstvo údajov, jedného dňa sa ocitnete v túžbe po nástroji, ktorý by jednoducho upozornil na anomálie alebo nezrovnalosti v údajoch a upozornil vás v reálnom čase.
Čo je ElastAlert?
ElastAlert je navrhnutý presne na to. Jedná sa o jednoduchý rámec, ktorý upozorní, keď zistí anomálie, hroty alebo iné vzorce pravidiel z údajov pridaných do vyhľadávača Elasticsearch.
Môžete napríklad nastavovať výstrahu „frekvencie“, ktorá vás upozorní, keď za Y čas dôjde k X počtu udalostí.
Alebo môžete byť okamžite upozornení, keď dôjde k „špičkovej“ udalosti, to znamená, keď sa rýchlosť, pri ktorej k udalosti dôjde, náhle zvýši alebo zníži.
Zahrnuté sú aj ďalšie typy pravidiel:
- „rovná čiara“ - ak je za Y menej ako X udalostí
- „blacklist / whitelist“ - keď sa určité pole zhoduje s „blacklistom“ alebo „whitelistom“
- 'any' - keď sa stane udalosť, ktorá sa zhoduje s daným filtrom
- „zmena“ - keď má pole v stanovenom časovom období dve rôzne hodnoty
Podporované typy výstrah
V súčasnosti má ElastAlert zabudovanú podporu pre nasledujúce typy výstrah.
- Velenie
- JIRA
- OpsGenie
- SNS
- HipChat
- Slack
- Telegram
- GoogleChat
- Debug
- Stomp
- úľ
Nainštalujte si ElastAlert s Elasticsearch na Ubuntu
V tomto článku vám ukážeme, ako nainštalovať ElastAlert na ubuntu 18.04.
Požiadavky
- Elasticsearch
- Údaje s časovou značkou ISO8601 alebo Unix
- Python 2.7
- pip, pozri poziadavky.txt - (https: // github.com / Yelp / elastalert / blob / master / požiadavky.TXT)
- Balíky pre ubuntu - python-pip python-dev libffi-dev libssl-dev
Inštalácia predpokladov
Nainštalujte si Python 2.7:
sudo apt-get nainštalovať python-minimal
Skontrolujte verziu Pythonu:
sudo python --verzia
Potom získate výstup pre python 2.7.
Nainštalujte potrebné balíčky:
sudo apt-get nainštalovať python-pip python-dev libffi-dev libssl-dev
Existuje niekoľko rôznych spôsobov, ako nainštalovať ElastAlert, a tu urobíme inštaláciu klonovaním úložiska git.
Pred pokračovaním teda musíme nainštalovať „git“. Zvyčajne Ubuntu 18.04 má už nainštalovaný git.
Skontrolujte nainštalovanú alebo dostupnú verziu systému git:
sudo apt-cache policy git
Toto poskytne podrobnosti o nainštalovaných a vhodných verziách git.
Ak nevidíte nainštalovanú verziu git, spustite nasledujúci príkaz.
sudo apt-get nainštalovať git
Budeme klonovať úložisko ElastAlert do priečinka „/ opt“, preto zmeňte adresár.
sudo cd / opt
Teraz klonujte úložisko git.
sudo git klon https: // github.com / Yelp / elastalert.git
Teraz nainštalujte moduly.
sudo pip install "setuptools> = 11.3 "
nastavenie sudo python.py nainštalovať
Môže sa vám zobraziť takáto chyba.
Potom spustite pod príkazom inštaláciu „PyOpenSSL“
sudo pip nainštalovať PyOpenSSL
Tu sa integrujeme do Elastic search 6.X. Takže Elasticsearch 5.Tu sa nainštaluje 0+.
sudo pip install "elasticsearch> = 5.0.0 "
Nakonfigurujte ElastAlert
Klonovali sme ElastAlert repo do adresára “/ opt”, preto pred pokračovaním zmeňte adresár.
sudo cd / opt / elastalert /
Teraz dostaneme kópiu konfigurácie.yaml.príklad súboru ako konfigurácia.yaml
sudo cp konfigurácia.yaml.príklad config.yaml
Upraviť konfiguráciu.yaml súbor.
vim config.yaml
Odkomentujte nasledujúce riadky a upravte ich.
Názov hostiteľa alebo adresa IP ElasticSearch
es_host: elk-server
Port ElasticServer
es_port: 9200
Základné overenie komentára:
es_username: es_password:
Uložte a zatvorte súbor.
Vytvorte index ElastAlert.
sudo elastalert-create-index
Vytvorenie pravidla
Teraz upravte súbor s názvom „example_frequency.yaml “vo vnútri priečinka„ / opt / elastalert / example_rules / “
sudo vim example_rules / example_frequency.yaml
Odkomentujte a upravte index nasledovne:
index: filebeat- *
Teraz definujte filter pre výstrahu. Tu filtrujeme kľúčové slová s reťazcom „výnimka“.
filter: - reťazec dotazu: dotaz: "správa: * výnimka *"
Nakonfigurujte Alter pomocou Slacku. Tu musíte vytvoriť kanál Slack a prichádzajúci webhook. Potom pridajte podrobnosti o konfigurácii nasledujúcim spôsobom.
upozornenie: - "slack" slack: slack_webhook_url: "https: // háčiky.ochabnúť.com / services / T3YSFN0GL / BFU1HPLKD / BPM2jOlIOzKxbEOHAepu6d26 "slack_username_override:" Fosslinux-Elastic-Bot "slack_channel_override:" #fosslinuxalert "slack_emoji_override:": robot_face: ": robot_face:
Podľa nasledujúcich pokynov môžete vytvoriť kanál Slack.
Konfigurácia kanálu Slack pre ElastAlert
Ak nemáte voľný účet, môžete si ho získať jednoduchým prihlásením. Prejdite na „uvoľnenie“.com “a zadajte svoju e-mailovú adresu a kliknite na„ ZAČÍNAME “.
Potom kliknite na „vytvoriť nový pracovný priestor“ a overte svoju e-mailovú adresu. Teraz sa môžete prihlásiť a zobraziť informačný panel.
Prejdite na Prehľadávať aplikácie -> Vlastné integrácie -> Prichádzajúce Webhooky -> Nová konfigurácia
Potom kliknite na „Vytvoriť nový kanál“ a vytvorte kanál na odosielanie upozornení.
Potom kliknite na tlačidlo „Vytvoriť kanál“ a dostanete sa na stránku integrácie Webhooku.
Kliknite na tlačidlo „Pridať prichádzajúcu integráciu WebHooks“. Týmto sa vytvoria nastavenia integrácie.
Skúšobné pravidlo
Zmeňte adresár na ElastAlert.
sudo cd / opt / elastalert /
Spustením pod príkazom otestujte nakonfigurované pravidlo.
sudo elastalert-test-pravidlo example_rules / example_frequency.yaml
Spustite ElastAlert
Spustíme ElastAlert ako službu na pozadí. Tento príkaz by sa mal spustiť v priečinku „/ opt / elastalert /“.
sudo python -m elastalert.elastalert --verbose --rule example_frequency.yaml &
Teraz ElastAlert začne kontrolovať dotazy na Elasticsearch (na serveri ELK). Ak dôjde k zápasu, vystrelí upozornenie na Slacka.
Varovanie spustené.
Varovanie prejde na Slack Channel.
To je ono, úspešne sme nainštalovali a nakonfigurovali ElastAlert s elastickým vyhľadávaním a tiež nastavili výstrahy na Slack. Dúfame, že tento vyčerpávajúci návod vám pomôže nainštalovať ElastAlert a nastaviť niektoré pravidlá na ľahké spúšťanie výstrah. Dotazy a spätná väzba sú vítané v sekcii komentárov.