Jei turite tvarkyti didžiulius duomenų kiekius, vieną dieną norėsite įrankio, kuris tiesiog nurodytų duomenų anomalijas ar neatitikimus ir jus perspėtų realiuoju laiku.
Kas yra ElastAlert?
„ElastAlert“ sukurtas būtent tam. Tai paprasta sistema, įspėjanti, kai iš duomenų, pridėtų „Elasticsearch“, aptinka anomalijas, šuolius ar kitus taisyklių modelius.
Pvz., Galite nustatyti „dažnio“ įspėjimą, kuris jus informuos, kai per Y laiką įvykių skaičius yra X.
Arba galbūt norėsite būti nedelsiant įspėti, kai įvyksta „spike“ įvykis, tai yra, kai įvykio greitis staiga padidėja arba sumažėja.
Kiti įtraukiami taisyklių tipai yra šie:
- „flatline“ - kai per Y laiką įvykių yra mažiau nei X
- „juodasis / baltasis sąrašas“ - kai tam tikras laukas atitinka „juodąjį sąrašą“ arba „baltąjį sąrašą“
- „bet koks“ - kai įvyksta įvykis, atitinkantis tam tikrą filtrą
- „pakeisti“ - kai laukas turi dvi skirtingas reikšmes per nurodytą laiką
Palaikomi įspėjimų tipai
Šiuo metu „ElastAlert“ turi įmontuotą palaikymą šiems įspėjimų tipams.
- Komanda
- El
- JIRA
- OpsGenie
- SNS
- „HipChat“
- Atleistas
- Telegrama
- „GoogleChat“
- Derinti
- Stomp
- avilys
„Ubuntu“ įdiekite „ElastAlert“ su „Elasticsearch“
Šiame straipsnyje mes parodysime, kaip įdiegti „ElastAlert“ „ubuntu 18“.04.
Reikalavimai
- Elastiniai tyrimai
- ISO8601 arba „Unix“ laiko žymos duomenys
- „Python 2“.7
- pip, žr. reikalavimus.txt - (https: // github.lt / Yelp / elastalert / blob / master / reikalavimai.txt)
- „Ubuntu“ paketai - python-pip python-dev libffi-dev libssl-dev
Būtinų sąlygų diegimas
Įdiekite „Python 2“.7:
sudo apt-get install python-minimal
Patikrinkite „Python“ versiją:
sudo python --versija
Tada gausite Python 2 išvestį.7.
Įdiekite reikalingus paketus:
sudo apt-get install python-pip python-dev libffi-dev libssl-dev
Yra keli skirtingi „ElastAlert“ diegimo būdai ir čia mes atliksime diegimą klonuodami „git“ saugyklą.
Taigi prieš tęsdami turime įdiegti „git“. Paprastai „Ubuntu 18“.04 jau įdiegta „git“.
Patikrinkite, ar yra įdiegta arba galima „git“ versija:
sudo apt-cache politika git
Tai suteiks išsamią informaciją apie įdiegtas ir kandidatines „git“ versijas.
Jei nematote įdiegtos „git“ versijos, vykdykite šią komandą.
sudo apt-get install git
Mes ketiname klonuoti „ElastAlert“ saugyklą į aplanką „/ opt“, todėl pakeiskite katalogą.
sudo cd / opt
Dabar klonuokite „git“ saugyklą.
sudo git klonas https: // github.lt / Yelp / elastalert.git
Dabar įdiekite modulius.
sudo pip įdiegti "setuptools> = 11.3 "
sudo python sąranka.py įdiegti
Galite gauti tokią klaidą.
Tada paleiskite žemiau esančią komandą, kad įdiegtumėte „PyOpenSSL“
sudo pip įdiekite PyOpenSSL
Čia mes integruosimės į elastinę paiešką 6.x. Taigi Elasticsearch 5.Čia bus įdiegta 0+.
sudo pip įdiekite „elasticsearch> = 5“.0.0 "
Konfigūruokite „ElastAlert“
Mes klonavome „ElastAlert“ atpirkimą kataloge „/ opt“, todėl prieš tęsdami pakeiskite katalogą.
sudo cd / opt / elastalert /
Dabar mes gauname konfigūracijos kopiją.yaml.failo pavyzdys kaip konfigūracija.yaml
sudo cp konfigūracija.yaml.konfigūracijos pavyzdys.yaml
Keisti konfigūraciją.yaml failas.
vim config.yaml
Atžymėkite šias eilutes ir modifikuokite.
„ElasticSearch“ pagrindinio kompiuterio vardas arba IP
es_host: briedis-serveris
„ElasticServer“ prievadas
es_portas: 9200
Negalima komentuoti pagrindinio autentifikavimo:
es_username: es_password:
Išsaugokite ir uždarykite failą.
Sukurkite „ElastAlert“ indeksą.
sudo elastalert-create-index
Taisyklės kūrimas
Dabar redaguokite failą pavadinimu „example_frequency.yaml “aplanke„ / opt / elastalert / example_rules / “
sudo vim example_rules / example_frequency.yaml
Nekomentuokite ir keiskite indeksą taip:
rodyklė: filebeat- *
Dabar nustatykite įspėjimo filtrą. Čia filtruojame raktinius žodžius su eilute „išimtis“.
filtras: - query_string: query: "žinutė: * išimtis *"
Konfigūruokite „Alter“ naudodamiesi „Slack“. Čia turite sukurti „Slack“ kanalą ir įeinantį „webhook“. Tada pridėkite išsamią konfigūracijos informaciją taip.
įspėjimas: - "tingumas" vangumas: slack_webhook_url: "https: // kabliukai.palaidumas.com / services / T3YSFN0GL / BFU1HPLKD / BPM2jOlIOzKxbEOHAepu6d26 "slack_username_override:" Fosslinux-Elastic-Bot "slack_channel_override:" #fosslinuxalert "slack_emoji_override: slogus: pavojus" slėpti: slinktį: slinktis: slinktis: "robotas": robotas: "robotas": robotas
Norėdami sukurti „Slack“ kanalą, galite atlikti toliau nurodytus veiksmus.
„ElastAlert“ kanalo „Slack“ konfigūravimas
Jei neturite laisvos paskyros, ją galite gauti paprasčiausiai prisiregistruodami. Eikite į „vangumą.com “, įveskite savo el. pašto adresą ir spustelėkite„ PRADĖTI “.
Tada spustelėkite „sukurti naują darbo sritį“ ir patvirtinkite savo el. Pašto adresą. Dabar galite prisijungti ir peržiūrėti informacijos suvestinę.
Eikite į Naršyti programas -> Pasirinktinės integracijos -> Gaunami žiniatinklio kabliai -> Nauja konfigūracija
Tada spustelėkite „Sukurti naują kanalą“, kad sukurtumėte kanalą įspėjimams siųsti.
Tada spustelėkite mygtuką „Sukurti kanalą“ ir pateksite į „Webhook“ integravimo puslapį.
Spustelėkite mygtuką „Pridėti gaunamų„ WebHooks “integraciją“. Tai sukurs integracijos parametrus.
Bandymo taisyklė
Keisti katalogą į ElastAlert.
sudo cd / opt / elastalert /
Vykdykite žemiau komandą, kad išbandytumėte sukonfigūruotą taisyklę.
sudo elastalert-test-rule example_rules / example_frequency.yaml
Paleiskite „ElastAlert“
„ElastAlert“ pradėsime kaip foninę paslaugą. Ši komanda turėtų būti vykdoma aplanke „/ opt / elastalert /“.
sudo python -m elastalert.elastalert --verbose - taisyklės pavyzdys_dažnis.yaml &
Dabar „ElastAlert“ pradės tikrinti užklausas „Elasticsearch“ (ELK serveryje). Jei bus rungtynių, tai iššauks „Slack“.
Įspėjimas suveikė.
Įspėjimas bus nukreiptas į „Slack Channel“.
Viskas, mes sėkmingai įdiegėme ir sukonfigūravome „ElastAlert“ naudodami elastinę paiešką, taip pat nustatėme įspėjimus apie „Slack“. Tikimės, kad ši išsami pamoka padės jums įdiegti „ElastAlert“ ir nustatyti keletą taisyklių, kad lengvai suaktyvintų įspėjimus. Klausimai ir atsiliepimai laukiami komentarų skiltyje.