ElastAlert, un sistema de Alertas para nuestras APIs

ElastAlert, un sistema de Alertas para nuestras APIs

ElastAlert es un sistema de Alertas creado por Yelp el cual nos permite monitorizar en Realtime nuetras APIs y así poder detectar comportamientos anómalos y/o errores.

Su arquitctura es muy simple ya que se basa en un sistema de consultas a Elasticsearch y en función del resultado de la misma, lanzar si corresponde una Alerta a nuestro Dashboard o herramienta de bugs, Slack, etc… tiene integración con JIRA y otras herramientas de ésta misma tipología.

Su configuración es muy simple ya que dispone de unos ficheros de configuración donde podremos crear las reglas que se requieran, por ejemplo:

name: Large Number of 500 Responses
es_host: IP-HOST-Elasticsearch
es_port: 9200
index: logstash-*
filter:
  - term:
      response_code: 500
type: frequency
num_events: 100
timeframe:
  hours: 1
alert:
  - email
email: example@midominio.com

Por ejemplo podemos configurar que el número de conexiones, en caso que sea superior a 100 en un tiempo determinado, 1h por ejemplo, nos alerte mediante un evento:

type: frequency
num_events: 100
timeframe:
  hours: 1

En este caso, la Alerta podría ir dirigida a JIRA o directamente a Slack mediante una configuración como:

alert_text: |
    ElastAlert has detected suspicious activity for {0}.
    At {1}, an {2} error occured. Do something about it!
alert_text_args:
  - username
  - timestamp
  - error_type

Realmente hay muchas posibilidades de configuraciones, inclusive hay una Wiki de tiplogías de reglas y ejemplos para poder hacerlo: http://elastalert.readthedocs.io/en/latest/ruletypes.html

Autor: Joakim Vivas

comments powered by Disqus