Ако трябва да управлявате огромни количества данни, един ден ще се окажете в желание за инструмент, който просто да посочи аномалиите или несъответствията в данните и да ви предупреди в реално време.
Какво е ElastAlert?
ElastAlert е проектиран да прави точно това. Това е проста рамка, която предупреждава, когато открива аномалии, скокове или други модели на правила от данни, добавени в Elasticsearch.
Например, може да настроите предупреждение за „честота“, което ще ви известява, когато има X брой събития в Y време.
Или може да искате да бъдете незабавно предупредени, когато има събитие с „скок“, т.е. когато скоростта, с която се случва събитието, внезапно се увеличава или намалява.
Други видове правила, които са включени са:
- „плоска линия“ - когато има по-малко от X събития в Y време
- „черен списък / бял списък“ - когато определено поле съвпада с „черен списък“ или „бял списък“
- 'any' - когато се случи събитие, което съответства на даден филтър
- „промяна“ - когато полето има две различни стойности в рамките на определен период от време
Поддържани типове сигнали
Понастоящем ElastAlert има вградена поддръжка за следните типове предупреждения.
- Команда
- електронна поща
- JIRA
- OpsGenie
- SNS
- HipChat
- Отпуснат
- Телеграма
- GoogleChat
- Отстраняване на грешки
- Stomp
- кошера
Инсталирайте ElastAlert с Elasticsearch на Ubuntu
В тази статия ще ви покажем как да инсталирате ElastAlert на ubuntu 18.04.
Изисквания
- Elasticsearch
- Данни с времеви марки с ISO8601 или Unix
- Python 2.7
- pip, вижте изискванията.txt - (https: // github.com / Yelp / elastalert / blob / master / изисквания.текст)
- Пакети за ubuntu - python-pip python-dev libffi-dev libssl-dev
Инсталиране на предпоставки
Инсталирайте Python 2.7:
sudo apt-get инсталирайте python-minimal
Проверете версията на Python:
sudo python --версия
След това ще получите изход за python 2.7.
Инсталирайте необходимите пакети:
sudo apt-get инсталиране python-pip python-dev libffi-dev libssl-dev
Има няколко различни начина за инсталиране на ElastAlert и тук ще направим инсталацията чрез клониране на git хранилище.
Затова трябва да инсталираме “git”, преди да продължим. Обикновено Ubuntu 18.04 вече е инсталиран git.
Проверете за инсталирана или налична версия на git:
sudo apt-cache политика git
Това ще даде подробности за инсталираните и кандидатстващите git версии.
Ако не виждате инсталирана версия на git, изпълнете следната команда.
sudo apt-get install git
Ще клонираме хранилището на ElastAlert в папката “/ opt”, затова сменете директорията.
sudo cd / opt
Сега клонирайте git хранилище.
sudo git clone https: // github.com / Yelp / elastalert.git
Сега инсталирайте модули.
sudo pip install "setuptools> = 11.3 "
настройка на sudo python.py инсталирайте
Може да получите грешка като тази.
След това изпълнете командата по-долу, за да инсталирате “PyOpenSSL”
sudo pip инсталирайте PyOpenSSL
Тук ще интегрираме с Elastic search 6.х. Така че Elasticsearch 5.0+ ще бъде инсталиран тук.
sudo pip install "elasticsearch> = 5.0.0 "
Конфигурирайте ElastAlert
Клонирахме ElastAlert repo в директорията „/ opt“, така че сменете директорията, преди да продължите.
sudo cd / opt / elastalert /
Сега получаваме копие на config.ямъл.примерен файл като конфигурация.ямъл
sudo cp config.ямъл.примерна конфигурация.ямъл
Променете конфигурацията.yaml файл.
vim config.ямъл
Раскоментирайте следващите редове и променете.
ElasticSearch Име на хост или IP
es_host: elk-server
ElasticServer порт
es_port: 9200
Разкоментирайте основното удостоверяване:
es_username: es_password:
Запазете и затворете файла.
Създайте индекс ElastAlert.
sudo elastalert-create-index
Създаване на правило
Сега редактирайте файла, озаглавен „пример_честота.yaml “в папката„ / opt / elastalert / example_rules / “
sudo vim example_rules / example_frequency.ямъл
Разкоментирайте и модифицирайте индекса, както следва:
индекс: filebeat- *
Сега дефинирайте филтър за сигнал. Тук филтрираме ключови думи с низа „изключение“.
filter: - query_string: query: "message: * изключение *"
Конфигурирайте Alter със Slack. Тук трябва да създадете канал Slack и входяща уеб кука. След това добавете подробности за конфигурацията, както следва.
предупреждение: - "хлабав" слаб: слак_webhook_url: "https: // куки.отпуснатост.com / services / T3YSFN0GL / BFU1HPLKD / BPM2jOlIOzKxbEOHAepu6d26 "slack_username_override:" Fosslinux-Elastic-Bot "slack_channel_override:" #fosslinuxalert "slack_emoji_overbotms:" slack_emoji_overrideg ": roco
Можете да следвате стъпките по-долу, за да създадете канал Slack.
Конфигуриране на Slack канал за ElastAlert
Ако нямате слаб акаунт, можете да го получите, като просто се регистрирате. Отидете на „отпуснатост.com “и въведете имейл адреса си и щракнете върху„ НАЧАЛО “.
След това кликнете върху „създаване на ново работно пространство“ и потвърдете имейл адреса си. Сега можете да влезете и да видите таблото за управление.
Отидете на Преглед на приложения -> Персонализирани интеграции -> Входящи уеб куки -> Нова конфигурация
След това кликнете върху „Създаване на нов канал“, за да създадете канал за изпращане на сигнали.
След това щракнете върху бутона „Създаване на канал“ и ще бъдете отведени до страницата за интегриране на Webhook.
Кликнете върху бутона „Добавяне на входяща интеграция на WebHooks“. Това ще създаде настройки за интеграция.
Правило за тестване
Променете директорията на ElastAlert.
sudo cd / opt / elastalert /
Изпълнете командата по-долу, за да тествате конфигурираното правило.
sudo elastalert-test-rule example_rules / example_frequency.ямъл
Стартирайте ElastAlert
Ще стартираме ElastAlert като фонова услуга. Тази команда трябва да се изпълни в папката “/ opt / elastalert /”.
sudo python -m elastalert.elastalert --verbose --rule пример_честота.yaml &
Сега ElastAlert ще започне да проверява заявките на Elasticsearch (на ELK сървър). Ако има мач, той ще изведе предупреждение към Slack.
Задейства се предупреждение.
Сигналът ще отиде в Slack Channel.
Това е, ние успешно инсталирахме и конфигурирахме ElastAlert с еластичното търсене, а също така настроихме сигнали за Slack. Надяваме се, че този изчерпателен урок ще ви помогне да инсталирате ElastAlert и да настроите някои правила за лесно задействане на сигнали. Въпросите и обратната връзка са добре дошли в раздела за коментари.