GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar ElastAlert con Elasticsearch en Ubuntu

Si tiene que administrar grandes cantidades de datos, algún día deseará 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 exactamente para hacer eso. Es un marco simple que alerta cuando detecta anomalías, picos u otros patrones de reglas de los datos agregados en Elasticsearch.

Por ejemplo, podría estar configurando una alerta de "frecuencia", que le notificará cuando haya una cantidad X de eventos en Y tiempo.

O es posible que desee recibir una advertencia inmediata cuando se produzca un evento de "pico", es decir, cuando la velocidad a la que ocurre un evento aumente o disminuya repentinamente.

Otros tipos de reglas que se incluyen son:

  • 'línea plana':cuando hay menos de X eventos en Y tiempo
  • 'lista negra/lista blanca':cuando un determinado campo coincide con 'lista negra' o 'lista blanca'
  • 'cualquiera':cuando ocurre un evento que coincide con un filtro determinado
  • 'cambio':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.

  • Comando
  • Correo electrónico
  • JIRA
  • OpsGenie
  • Redes sociales
  • HipChat
  • Slack
  • Telegrama
  • Chat de Google
  • Depurar
  • Pisotón
  • la colmena

Instalar ElastAlert con Elasticsearch en Ubuntu

En este artículo, le mostramos cómo instalar ElastAlert en ubuntu 18.04.

Requisitos

  • Búsqueda elástica
  • ISO8601 o datos con marca de tiempo de 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

Instalación de requisitos previos

Instale Python 2.7:

sudo apt-get install python-minimal

Compruebe la versión de Python:

sudo python --version

Luego obtendrá resultados 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.

Entonces necesitamos instalar "git" antes de continuar. Por lo general, Ubuntu 18.04 ya tiene git 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 de ElastAlert a la carpeta “/opt”, por lo tanto cambie de directorio.

sudo cd /opt

Ahora clona un repositorio git.

sudo git clone https://github.com/Yelp/elastalert.git

Ahora instala los módulos.

sudo pip install "setuptools>=11.3"
sudo python setup.py install

Es posible que obtenga un error como este.

Luego ejecute el siguiente comando para instalar "PyOpenSSL"

sudo pip install PyOpenSSL

Aquí 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 del archivo config.yaml.example como config.yaml

sudo cp config.yaml.example config.yaml

Modifica el archivo config.yaml.

vim config.yaml

Descomente las siguientes líneas y modifíquelas.

Nombre de host o IP de ElasticSearch

es_host: elk-server

Puerto de 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 example_rules/example_frequency.yaml

Descomente y modifique el índice de la siguiente manera:

index: filebeat-*

Ahora defina un filtro para una alerta. Aquí filtramos las palabras clave con la cadena "excepción".

filter:
- query_string:
    query: "message:*exception*"

Configure 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.

alert:
 - "slack"
slack:
slack_webhook_url: "https://hooks.slack.com/services/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"
slack_username_override: "Fosslinux-Elastic-Bot"
slack_channel_override: "#fosslinuxalert"
slack_emoji_override: ":robot_face:"
slack_msg_color: "danger"

Puede seguir los pasos a continuación para crear un canal de Slack.

Configuración del canal Slack para ElastAlert

Si no tiene una cuenta de Slack, puede obtener una simplemente registrándose. Vaya a "slack.com", 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 tablero.

Vaya a Explorar aplicaciones -> Integraciones personalizadas -> Webhooks entrantes -> Nueva configuración

A continuación, haga clic en "Crear nuevo canal" para crear un canal para enviar alertas.

A continuación, haga clic en el botón "Crear canal" y accederá a la página de integración de Webhook.

Haga clic en el botón 'Agregar integración entrante de WebHooks'. Esto creará la configuración 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

Ejecutar 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 &

Ahora ElastAlert comenzará a verificar las consultas en Elasticsearch (en el servidor ELK). Si hay una coincidencia, disparará una alerta a Slack.

Alerta activada.

La alerta irá a Slack Channel.

Eso es todo, instalamos y configuramos con éxito ElastAlert con la búsqueda elástica, y también configuramos alertas para Slack. Esperamos que este tutorial exhaustivo lo ayude a instalar ElastAlert y configurar algunas reglas para activar alertas fácilmente. Las preguntas y los comentarios son bienvenidos en la sección de comentarios.


Ubuntu
  1. Cómo instalar Docker en Ubuntu 18.04

  2. Cómo instalar Apache en Ubuntu 18.04

  3. Cómo instalar un servidor FTP en Ubuntu con vsftpd

  4. Cómo instalar Zammad Community en ubuntu 20.04

  5. Cómo instalar Elasticsearch en Ubuntu 22.04 con SSL

Cómo instalar WordPress con Nginx en Ubuntu

Cómo instalar Lighttpd con PHP en Ubuntu 20.04

Cómo instalar Elasticsearch en Ubuntu 18.04 LTS

Cómo instalar Elasticsearch en Ubuntu 20.04 LTS

Cómo instalar Graylog en Ubuntu 20.04 LTS

Cómo instalar Elasticsearch en Ubuntu 18.04 Bionic Beaver