Hvis du er nødt til at administrere enorme mængder data, vil du en dag ønske dig et værktøj, der simpelthen påpeger uregelmæssigheder eller inkonsekvenser i dataene og advarer dig i realtid.
Hvad er ElastAlert?
ElastAlert er designet til nøjagtigt at gøre det. Det er en simpel ramme, der advarer, når den registrerer uregelmæssigheder, pigge eller andre mønstre af regler fra data, der er tilføjet i Elasticsearch.
For eksempel kan du oprette en 'frekvens' alarm, som giver dig besked, når der er X antal begivenheder i Y-tiden.
Eller måske vil du straks blive advaret, når der er en 'spike' begivenhed, det er når den hastighed, hvormed en begivenhed opstår pludselig øges eller falder.
Andre regeltyper, der er inkluderet, er:
- 'flatline' - når der er mindre end X begivenheder i Y-tid
- 'sortliste / hvidliste' - når et bestemt felt matcher 'sortliste' eller 'hvidliste'
- 'enhver' - når en begivenhed, der matcher et givet filter, sker
- 'ændring' - når et felt har to forskellige værdier inden for en bestemt tidsperiode
Understøttede alarmtyper
I øjeblikket har ElastAlert indbygget support til følgende alarmtyper.
- Kommando
- JIRA
- OpsGenie
- SNS
- HipChat
- Slap
- Telegram
- GoogleChat
- Fejlfinde
- Trampe
- bikuben
Installer ElastAlert med Elasticsearch på Ubuntu
I denne artikel viser vi dig, hvordan du installerer ElastAlert på ubuntu 18.04.
Krav
- Elastiksøgning
- ISO8601 eller Unix tidsstemplede data
- Python 2.7
- pip, se krav.txt - (https: // github.com / Yelp / elastalert / blob / master / krav.txt)
- Pakker til ubuntu - python-pip python-dev libffi-dev libssl-dev
Installation af forudsætninger
Installer Python 2.7:
sudo apt-get install python-minimal
Tjek Python-versionen:
sudo python - version
Derefter får du output til python 2.7.
Installer nødvendige pakker:
sudo apt-get install python-pip python-dev libffi-dev libssl-dev
Der er få forskellige måder at installere ElastAlert på, og her skal vi udføre installationen ved at klone git repository.
Så vi er nødt til at installere "git" inden vi fortsætter. Normalt er Ubuntu 18.04 er allerede installeret.
Se efter den installerede eller tilgængelige version af git:
sudo apt-cache politik git
Dette giver detaljerne om de installerede og kandidat-git-versioner.
Hvis du ikke kan se den installerede git-version, skal du køre følgende kommando.
sudo apt-get install git
Vi kloner ElastAlert-arkivet til “/ opt” -mappen, og skift derfor bibliotek.
sudo cd / opt
Klon nu et git-arkiv.
sudo git klon https: // github.com / Yelp / elastalert.git
Installer nu moduler.
sudo pip install "setuptools> = 11.3 "
sudo python opsætning.py installation
Du får muligvis en fejl som denne.
Kør derefter under kommandoen for at installere “PyOpenSSL”
sudo pip installer PyOpenSSL
Her skal vi integrere med elastisk søgning 6.x. Så Elasticsearch 5.0+ installeres her.
sudo pip install "elasticsearch> = 5.0.0 "
Konfigurer ElastAlert
Vi klonede ElastAlert-repoen til "/ opt" -mappen, så skift mappe, før du fortsætter.
sudo cd / opt / elastalert /
Nu får vi en kopi af config.yaml.eksempelfil som en konfiguration.yaml
sudo cp config.yaml.eksempel config.yaml
Rediger konfiguration.yaml-fil.
vim config.yaml
Fjern kommentar fra de følgende linjer og rediger.
ElasticSearch værtsnavn eller IP
es_host: elk-server
ElasticServer-port
es_port: 9200
Frigør grundlæggende godkendelse:
es_username: es_password:
Gem og luk filen.
Opret ElastAlert-indeks.
sudo elastalert-create-index
Oprettelse af en regel
Rediger nu filen med titlen “eksempel_frekvens.yaml ”inde i mappen“ / opt / elastalert / example_rules / ”
sudo vim eksempel_regler / eksempel_frekvens.yaml
Fjern kommentar og rediger indeks som følger:
indeks: filebeat- *
Definer nu et filter til en alarm. Her filtrerer vi nøgleord med strengen "undtagelse".
filter: - query_string: forespørgsel: "besked: * undtagelse *"
Konfigurer Alter med Slack. Her skal du oprette en Slack-kanal og indgående webhook. Tilføj derefter konfigurationsoplysninger som følger.
alarm: - "slack" slack: slack_webhook_url: "https: // kroge.slap.com / tjenester / T3YSFN0GL / BFU1HPLKD / BPM2jOlIOzKxbEOHAepu6d26 "slack_username_override:" Fosslinux-Elastic-Bot "slack_channel_override:" #fosslinuxalert "slack_emoji_override:": robot_face: "
Du kan følge nedenstående trin for at oprette Slack-kanal.
Konfiguration af slap kanal til ElastAlert
Hvis du ikke har en slap konto, kan du få en ved blot at tilmelde dig. Gå til “slap.com ”og indtast din e-mail-adresse, og klik på“ KOM I GANG ”.
Klik derefter på 'Opret nyt arbejdsområde' og bekræft din e-mail-adresse. Nu kan du logge ind og se instrumentbrættet.
Gå til Gennemse apps -> Brugerdefinerede integrationer -> Indgående Webhooks -> Ny konfiguration
Klik derefter på 'Opret ny kanal' for at oprette en kanal til at sende alarmer.
Klik derefter på knappen 'Opret kanal', så føres du til Webhook-integrationssiden.
Klik på knappen 'Tilføj indgående WebHooks-integration'. Dette opretter integrationsindstillinger.
Testregel
Skift bibliotek til ElastAlert.
sudo cd / opt / elastalert /
Kør under kommandoen for at teste konfigureret regel.
sudo elastalert-test-rule eksempel_regler / eksempel_frekvens.yaml
Kør ElastAlert
Vi starter ElastAlert som en baggrundstjeneste. Denne kommando skal køres i mappen “/ opt / elastalert /”.
sudo python -m elastalert.elastalert --verbose --rule eksempel_frekvens.yaml &
Nu begynder ElastAlert at kontrollere forespørgsler på Elasticsearch (på ELK-server). Hvis der er en kamp, skyder den alarm til Slack.
Alert udløst.
Alert går til Slack Channel.
Det er det, vi installerede og konfigurerede ElastAlert med den elastiske søgning og konfigurerede også alarmer til Slack. Vi håber, at denne udtømmende tutorial hjælper dig med at installere ElastAlert og oprette nogle regler, der let udløser alarmer. Spørgsmål og feedback er velkomne i kommentarfeltet.