Si tiene que administrar grandes cantidades de datos, un día se encontrará deseando una herramienta que simplemente señale las anomalías o inconsistencias en los datos y lo alerte en tiempo real.
¿Qué es ElastAlert??
ElastAlert está diseñado para hacer exactamente eso. Es un marco simple que alerta cuando detecta anomalías, picos u otros patrones de reglas a partir de datos agregados en Elasticsearch.
Por ejemplo, podría estar configurando una alerta de 'frecuencia', que le notificará cuando haya un número X de eventos en el tiempo Y.
O es posible que desee que se le advierta inmediatamente cuando hay un evento de 'pico', es decir, cuando la velocidad a la que ocurre un evento aumenta o disminuye repentinamente.
Otros tipos de reglas que se incluyen son:
- 'flatline' - cuando hay menos de X eventos en Y tiempo
- 'lista negra / lista blanca': cuando un campo determinado coincide con 'lista negra' o 'lista blanca'
- 'cualquiera' - cuando ocurre un evento que coincide con un filtro dado
- 'cambiar' - cuando un campo tiene dos valores diferentes dentro de un período de tiempo específico
Tipos de alerta admitidos
Actualmente, ElastAlert tiene soporte integrado para los siguientes tipos de alerta.
- Mando
- Correo electrónico
- JIRA
- OpsGenie
- SNS
- HipChat
- Flojo
- Telegrama
- GoogleChat
- Depurar
- Pisar muy fuerte
- la colmena
Instale ElastAlert con Elasticsearch en Ubuntu
En este artículo, le mostramos cómo instalar ElastAlert en ubuntu 18.04.
Requisitos
- Elasticsearch
- Datos con marca de tiempo ISO8601 o Unix
- Python 2.7
- pip, ver requisitos.txt - (https: // github.com / Yelp / elastalert / blob / master / requirements.TXT)
- Paquetes para ubuntu - python-pip python-dev libffi-dev libssl-dev
Requisitos previos de instalación
Instalar Python 2.7:
sudo apt-get install python-minimal
Verifique la versión de Python:
sudo python --versión
Entonces obtendrás salida para python 2.7.
Instale los paquetes necesarios:
sudo apt-get install python-pip python-dev libffi-dev libssl-dev
Hay algunas formas diferentes de instalar ElastAlert y aquí vamos a hacer la instalación clonando el repositorio de git.
Por lo tanto, debemos instalar "git" antes de continuar. Por lo general, Ubuntu 18.04 tiene git ya instalado.
Verifique la versión instalada o disponible de git:
sudo apt-cache policy git
Esto dará los detalles de las versiones de git instaladas y candidatas.
Si no puede ver la versión de git instalada, ejecute el siguiente comando.
sudo apt-get install git
Vamos a clonar el repositorio ElastAlert en la carpeta "/ opt", por lo tanto, cambie el directorio.
sudo cd / opt
Ahora clona un repositorio de git.
sudo git clon https: // github.com / Yelp / elastalert.git
Ahora instale los módulos.
sudo pip install "setuptools> = 11.3 "
configuración de sudo python.py instalar
Puede recibir un error como este.
Luego ejecute el siguiente comando para instalar "PyOpenSSL"
sudo pip instalar PyOpenSSL
Aquí nos vamos a integrar con Elastic Search 6.X. Entonces Elasticsearch 5.0+ se instalará aquí.
sudo pip install "elasticsearch> = 5.0.0 "
Configurar ElastAlert
Clonamos el repositorio de ElastAlert en el directorio "/ opt", así que cambie el directorio antes de continuar.
sudo cd / opt / elastalert /
Ahora obtenemos una copia de config.yaml.archivo de ejemplo como una configuración.yaml
sudo cp config.yaml.ejemplo de configuración.yaml
Modificar configuración.archivo yaml.
vim config.yaml
Descomente las siguientes líneas y modifique.
Nombre de host o IP de ElasticSearch
es_host: elk-server
Puerto ElasticServer
es_port: 9200
Descomente la autenticación básica:
es_username: es_password:
Guarde y cierre el archivo.
Crear índice ElastAlert.
sudo elastalert-create-index
Crear una regla
Ahora edite el archivo titulado "example_frequency.yaml ”dentro de la carpeta“ / opt / elastalert / example_rules / ”
sudo vim reglas_ejemplo / frecuencia_ejemplo.yaml
Descomente y modifique el índice de la siguiente manera:
índice: filebeat- *
Ahora defina un filtro para una alerta. Aquí filtramos las palabras clave con la cadena "excepción".
filter: - query_string: query: "mensaje: * excepción *"
Configurar Alter con Slack. Aquí debe crear un canal de Slack y un webhook entrante. Luego agregue los detalles de configuración de la siguiente manera.
alerta: - "holgura" holgura: slack_webhook_url: "https: // ganchos.flojo.com / services / T3YSFN0GL / BFU1HPLKD / BPM2jOlIOzKxbEOHAepu6d26 "slack_username_override:" Fosslinux-Elastic-Bot "slack_channel_override:" #fosslinuxalert "slack_emoji_override:" color: "robot_peligroso"
Puede seguir los pasos a continuación para crear un canal de Slack.
Configuración del canal de Slack para ElastAlert
Si no tiene una cuenta slack, puede obtener una simplemente registrándose. Ir a "holgura.com ”e ingrese su dirección de correo electrónico y haga clic en“ COMENZAR ”.
Luego haga clic en 'crear nuevo espacio de trabajo' y verifique su dirección de correo electrónico. Ahora puede iniciar sesión y ver el panel.
Vaya a Buscar aplicaciones -> Integraciones personalizadas -> Webhooks entrantes -> Nueva configuración
Luego haga clic en 'Crear nuevo canal' para crear un canal para enviar alertas.
Luego haga clic en el botón 'Crear canal' y se lo dirigirá a la página de integración de Webhook.
Haga clic en el botón 'Agregar integración de WebHooks entrante'. Esto creará configuraciones de integración.
Regla de prueba
Cambiar directorio a ElastAlert.
sudo cd / opt / elastalert /
Ejecute el siguiente comando para probar la regla configurada.
sudo elastalert-test-rule example_rules / example_frequency.yaml
Ejecute ElastAlert
Iniciaremos ElastAlert como un servicio en segundo plano. Este comando debe ejecutarse dentro de la carpeta "/ opt / elastalert /".
sudo python -m elastalert.elastalert --verbose --rule example_frequency.yaml y
Ahora ElastAlert comenzará a verificar consultas en Elasticsearch (en el servidor ELK). Si hay una coincidencia, disparará alerta a Slack.
Alerta activada.
La alerta irá al canal Slack.
Eso es todo, instalamos y configuramos ElastAlert con la búsqueda elástica con éxito, y también configuramos alertas para Slack. Esperamos que este exhaustivo tutorial le ayude a instalar ElastAlert y a configurar algunas reglas para activar alertas fácilmente. Las preguntas y comentarios son bienvenidos en la sección de comentarios.