Hvis du må administrere store mengder data, vil du finne deg selv en dag og ønske deg et verktøy som bare vil påpeke avvik eller inkonsekvenser i dataene og varsle deg i sanntid.
Hva er ElastAlert?
ElastAlert er designet for å gjøre det nøyaktig. Det er et enkelt rammeverk som varsler når det oppdager uregelmessigheter, pigger eller andre mønstre med regler fra data lagt til i Elasticsearch.
For eksempel kan du sette opp et "frekvens" -varsel, som vil varsle deg når det er X antall hendelser i Y-tiden.
Eller du vil kanskje bli umiddelbart advart når det er en "spike" -hendelse, det vil si når hastigheten som en hendelse oppstår plutselig øker eller avtar.
Andre regletyper som er inkludert er:
- 'flatline' - når det er mindre enn X hendelser i Y-tid
- 'svarteliste / hviteliste' - når et bestemt felt samsvarer med 'svarteliste' eller 'hviteliste'
- 'any' - når en hendelse som samsvarer med et gitt filter skjer
- 'endring' - når et felt har to forskjellige verdier innen en spesifisert tidsperiode
Støttede varslingstyper
Foreløpig har ElastAlert innebygd støtte for følgende varslingstyper.
- Kommando
- E-post
- JIRA
- OpsGenie
- SNS
- HipChat
- Slakk
- Telegram
- GoogleChat
- Feilsøk
- Stomp
- bikuben
Installer ElastAlert med Elasticsearch på Ubuntu
I denne artikkelen viser vi deg hvordan du installerer ElastAlert på ubuntu 18.04.
Krav
- Elasticsearch
- ISO8601 eller Unix tidsstemplede data
- Python 2.7
- pip, se krav.txt - (https: // github.no / Yelp / elastalert / blob / master / krav.tekst)
- Pakker for ubuntu - python-pip python-dev libffi-dev libssl-dev
Installere forutsetninger
Installer Python 2.7:
sudo apt-get install python-minimal
Sjekk Python-versjonen:
sudo python - versjon
Da får du utdata for python 2.7.
Installer nødvendige pakker:
sudo apt-get install python-pip python-dev libffi-dev libssl-dev
Det er få forskjellige måter å installere ElastAlert på, og her skal vi gjøre installasjonen ved å klone git repository.
Så vi må installere "git" før du fortsetter. Vanligvis, Ubuntu 18.04 har allerede installert git.
Se etter den installerte eller tilgjengelige versjonen av git:
sudo apt-cache policy git
Dette vil gi detaljene for installerte og kandidat git versjoner.
Hvis du ikke kan se installert git-versjon, kjører du følgende kommando.
sudo apt-get install git
Vi skal klone ElastAlert-arkivet til “/ opt” -mappen, og endre derfor katalogen.
sudo cd / opt
Klon nå et git-arkiv.
sudo git klone https: // github.com / Yelp / elastalert.git
Installer nå moduler.
sudo pip install "setuptools> = 11.3 "
sudo python-oppsett.py installere
Du kan få en feil som dette.
Kjør deretter under kommandoen for å installere “PyOpenSSL”
sudo pip installer PyOpenSSL
Her skal vi integrere med elastisk søk 6.x. Så Elasticsearch 5.0+ vil bli installert her.
sudo pip install "elasticsearch> = 5.0.0 "
Konfigurer ElastAlert
Vi klonet ElastAlert repo til “/ opt” katalogen, så bytt katalogen før du fortsetter.
sudo cd / opt / elastalert /
Nå får vi en kopi av config.yaml.eksempelfil som en konfigurasjon.yaml
sudo cp config.yaml.eksempel config.yaml
Endre konfigurasjon.yaml-fil.
vim config.yaml
Fjern merking av følgende linjer og modifiser.
ElasticSearch vertsnavn eller IP
es_host: elk-server
ElasticServer-port
es_port: 9200
Grunnleggende autentisering av kommentarer
es_username: es_password:
Lagre og lukk filen.
Opprett ElastAlert-indeks.
sudo elastalert-create-index
Opprette en regel
Rediger nå filen med tittelen “eksempel_frekvens.yaml ”i mappen“ / opt / elastalert / example_rules / ”
sudo vim eksempel_regler / eksempelfrekvens.yaml
Fjern kommentar og modifiser indeksen som følger:
indeks: filebeat- *
Definer nå et filter for et varsel. Her filtrerer vi nøkkelord med strengen "unntak".
filter: - query_string: spørring: "melding: * unntak *"
Konfigurer Alter med Slack. Her må du opprette en Slack-kanal og innkommende webhook. Deretter legger du til konfigurasjonsdetaljer som følger.
varsel: - "slakk" slakk: slack_webhook_url: "https: // kroker.slapp.no / services / T3YSFN0GL / BFU1HPLKD / BPM2jOlIOzKxbEOHAepu6d26 "slack_username_override:" Fosslinux-Elastic-Bot "slack_channel_override:" #fosslinuxalert "slack_emoji_override:": robot_face: "
Du kan følge trinnene nedenfor for å opprette Slack-kanal.
Konfigurerer Slack-kanal for ElastAlert
Hvis du ikke har en slakk konto, kan du få en ved å bare registrere deg. Gå til “slakk.com ”og skriv inn e-postadressen din og klikk“ KOM I GANG ”.
Klikk deretter på "Opprett nytt arbeidsområde" og bekreft e-postadressen din. Nå kan du logge på og vise dashbordet.
Gå til Bla gjennom apper -> Egendefinerte integrasjoner -> Innkommende Webhooks -> Ny konfigurasjon
Klikk deretter på 'Opprett ny kanal' for å opprette en kanal for sendevarsler.
Klikk deretter på "Opprett kanal" -knappen, og du blir ført til Webhook-integrasjonssiden.
Klikk 'Legg til innkommende WebHooks-integrering' -knappen. Dette vil opprette integrasjonsinnstillinger.
Testregel
Bytt katalog til ElastAlert.
sudo cd / opt / elastalert /
Kjør under kommandoen for å teste konfigurert regel.
sudo elastalert-test-rule eksempel_regler / eksempel_frekvens.yaml
Kjør ElastAlert
Vi starter ElastAlert som en bakgrunnstjeneste. Denne kommandoen skal kjøres i mappen "/ opt / elastalert /".
sudo python -m elastalert.elastalert --verbose --rule eksempel_frekvens.yaml &
Nå vil ElastAlert begynne å sjekke spørsmål på Elasticsearch (på ELK-server). Hvis det er en kamp, vil den skyte våken til Slack.
Varsling utløst.
Varsling går til Slack Channel.
Det er det, vi installerte og konfigurerte ElastAlert med det elastiske søket, og satte også varsler til Slack. Vi håper denne omfattende opplæringen vil hjelpe deg med å installere ElastAlert og sette opp noen regler for å utløse varsler enkelt. Spørsmål og tilbakemeldinger er velkomne i kommentarfeltet.