Ako morate upravljati ogromnim količinama podataka, jednog ćete se dana zaželjeti alata koji će jednostavno ukazati na anomalije ili nedosljednosti u podacima i upozoriti vas u stvarnom vremenu.
Što je ElastAlert?
ElastAlert je dizajniran da točno to učini. To je jednostavan okvir koji upozorava kad otkrije anomalije, skokove ili druge obrasce pravila iz podataka dodanih u Elasticsearch.
Na primjer, možda postavljate upozorenje "učestalost", koje će vas obavijestiti kada se u Y vremenu dogodi X broj događaja.
Ili biste možda htjeli da vas odmah upozore kada se dogodi "skok" događaja, to jest kada se stopa kojom se događaj događa naglo povećava ili smanjuje.
Ostale vrste pravila koje su uključene su:
- 'ravna linija' - kada se u Y vremenu dogodi manje od X događaja
- 'crna lista / bijela lista' - kada se određeno polje podudara s "crnom listom" ili "bijelom listom"
- 'bilo koji' - kada se dogodi događaj koji se podudara s danim filtrom
- 'promjena' - kada polje ima dvije različite vrijednosti unutar određenog vremenskog razdoblja
Podržane vrste upozorenja
Trenutno ElastAlert ima ugrađenu podršku za sljedeće vrste upozorenja.
- Naredba
- JIRA
- OpsGenie
- SNS
- HipChat
- Zatišje
- Telegram
- GoogleChat
- Otklanjanje pogrešaka
- Stomp
- košnica
Instalirajte ElastAlert s Elasticsearch na Ubuntu
U ovom ćemo vam članku pokazati kako instalirati ElastAlert na ubuntu 18.04.
Zahtjevi
- Elasticsearch
- Podaci s vremenskom oznakom ISO8601 ili Unix
- Python 2.7
- pip, vidi zahtjeve.txt - (https: // github.com / Yelp / elastalert / blob / master / zahtjevi.txt)
- Paketi za ubuntu - python-pip python-dev libffi-dev libssl-dev
Instaliranje preduvjeta
Instalirajte Python 2.7:
sudo apt-get instalirati python-minimal
Provjerite verziju Pythona:
sudo python --verzija
Tada ćete dobiti izlaz za python 2.7.
Instalirajte potrebne pakete:
sudo apt-get instalirati python-pip python-dev libffi-dev libssl-dev
Postoji nekoliko različitih načina za instaliranje ElastAlert-a, a ovdje ćemo izvršiti instalaciju kloniranjem git spremišta.
Stoga moramo instalirati "git" prije nastavka. Obično je Ubuntu 18.04 je već instalirao git.
Provjerite je li instalirana ili dostupna verzija gita:
politika sudo apt-cache git
To će dati detalje instalirane i moguće git verzije.
Ako ne možete vidjeti instaliranu verziju gita, pokrenite sljedeću naredbu.
sudo apt-get instalirati git
Klonirat ćemo repozitorij ElastAlert u mapu “/ opt”, stoga promijenite direktorij.
sudo cd / opt
Sada klonirajte git spremište.
sudo git klon https: // github.com / Yelp / elastalert.git
Sada instalirajte module.
sudo pip install "setuptools> = 11.3 "
postavljanje sudo pythona.py instalirati
Možete dobiti ovakvu pogrešku.
Zatim pokrenite naredbu ispod kako biste instalirali “PyOpenSSL”
sudo pip instalirati PyOpenSSL
Ovdje ćemo se integrirati s Elastic pretraživanjem 6.x. Dakle, Elasticsearch 5.Ovdje će biti instaliran 0+.
sudo pip install "elasticsearch> = 5.0.0 "
Konfigurirajte ElastAlert
Klonirali smo ElastAlert repo u direktorij “/ opt”, pa promijenite direktorij prije nastavka.
sudo cd / opt / elastalert /
Sada dobivamo kopiju config.yaml.primjer datoteke kao konfiguracije.yaml
sudo cp config.yaml.primjer konfiguracije.yaml
Izmijeni konfiguraciju.yaml datoteku.
vim config.yaml
Otkomentirajte sljedeće retke i izmijenite ih.
Ime hosta ili IP adresa ElasticSearch
es_host: elk-poslužitelj
ElasticServer priključak
es_port: 9200
Okomentirajte osnovnu provjeru autentičnosti:
es_username: es_password:
Spremite i zatvorite datoteku.
Izradite indeks ElastAlert.
sudo elastalert-create-index
Stvaranje pravila
Sada uredite datoteku pod nazivom „example_frequency.yaml ”unutar mape“ / opt / elastalert / example_rules / ”
sudo vim example_rules / example_frequency.yaml
Raskomentirajte i izmijenite indeks na sljedeći način:
indeks: filebeat- *
Sada definirajte filtar za upozorenje. Ovdje filtriramo ključne riječi s nizom "iznimka".
filter: - query_string: query: "poruka: * iznimka *"
Konfigurirajte Alter sa Slackom. Ovdje morate stvoriti Slack kanal i dolaznu web-kuku. Zatim dodajte detalje o konfiguraciji kako slijedi.
upozorenje: - "slack" slack: slack_webhook_url: "https: // kuke.zatišje.com / services / T3YSFN0GL / BFU1HPLKD / BPM2jOlIOzKxbEOHAepu6d26 "slack_username_override:" Fosslinux-Elastic-Bot "slack_channel_override:" #fosslinuxalert "slack_emoji_overrideg:" slack_emoji_overrideg ""
Možete slijediti korake u nastavku za stvaranje Slack kanala.
Konfiguriranje Slack kanala za ElastAlert
Ako nemate mlitav račun, možete ga dobiti jednostavnom registracijom. Idite na „mlitavost.com “i unesite svoju adresu e-pošte i kliknite„ POČNITE “.
Zatim kliknite "izradi novi radni prostor" i potvrdite svoju adresu e-pošte. Sada se možete prijaviti i pregledati nadzornu ploču.
Idite na Pregledavanje aplikacija -> Prilagođene integracije -> Dolazne web kuke -> Nova konfiguracija
Zatim kliknite na 'Stvori novi kanal' da biste stvorili kanal za slanje upozorenja.
Zatim kliknite gumb 'Stvori kanal' i bit ćete preusmjereni na stranicu integracije Webhook-a.
Kliknite gumb "Dodaj dolaznu integraciju WebHooksa". Ovo će stvoriti postavke integracije.
Pravilo za ispitivanje
Promijenite direktorij u ElastAlert.
sudo cd / opt / elastalert /
Pokrenite naredbu ispod kako biste testirali konfigurirano pravilo.
sudo elastalert-test-pravilo example_rules / example_frequency.yaml
Pokrenite ElastAlert
Započet ćemo ElastAlert kao pozadinsku uslugu. Ovu naredbu treba pokrenuti unutar mape “/ opt / elastalert /”.
sudo python -m elastalert.elastalert --verbose --rule primjer_frekvencija.yaml &
Sada će ElastAlert početi provjeravati upite na Elasticsearch (na ELK poslužitelju). Ako postoji utakmica, ispalit će upozorenje za Slacka.
Aktivirano upozorenje.
Upozorenje će ići na Slack Channel.
To je to, uspješno smo instalirali i konfigurirali ElastAlert s elastičnim pretraživanjem, a također postavili upozorenja za Slack. Nadamo se da će vam ovaj iscrpan vodič pomoći da instalirate ElastAlert i postavite neka pravila za lako pokretanje upozorenja. Pitanja i povratne informacije su dobrodošli u odjeljku za komentare.