alerting elasticsearch elastalert

alerting - Personalice la información en una alerta recibida por elastalert plugin para elasticsearch



kibana alerting (1)

De acuerdo con la documentación de ElastAlert , puede limitar la alerta a solo contener ciertos campos del documento utilizando include .

En tu caso sería:

include: ["@timestamp", "logLevel", "message"]

He configurado la instancia de elastalert con mi host de búsqueda elástica. También he creado una regla de ejemplo que comprobará el nivel de registro y la alerta cuando ese patrón coincida en los registros.

Todo está funcionando bien, estoy recibiendo las alertas en mi canal slack correctamente.

La única preocupación es la información / datos en la alerta que estoy recibiendo . El complemento elastalert está enviando todos los atributos asociados con el patrón que estoy buscando; pero no estoy interesado en toda la información. Todo lo que me importa es sobre algunos atributos particulares.

Aquí hay un ejemplo de mi regla:

# Alert when the rate of events exceeds a threshold # (Optional) # Elasticsearch host es_host: # (Optional) # Elasticsearch port es_port: # (OptionaL) Connect with SSL to elasticsearch #use_ssl: True # (Optional) basic-auth username and password for elasticsearch #es_username: someusername #es_password: somepassword # (Required) # Rule name, must be unique name: DB2 test Rule # (Required) # Type of alert. # the frequency rule type alerts when num_events events occur with timeframe time type: frequency # (Required) # Index to search, wildcard supported index: logstash-* # logstash-2016.04.05 #logstash-YYYY.MM.DD # logstash-* # (Required, frequency specific) # Alert when this many documents matching the query occur within a timeframe num_events: 1 # (Required, frequency specific) # num_events must occur within this amount of time to trigger an alert timeframe: hours: 12 # (Required) # A list of elasticsearch filters used for find events # These filters are joined with AND and nested in a filtered query # For more info: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl.html filter: - query: query_string: query: "type: db2 AND logLevel: Warning" # (Required) # The alert is use when a match is found alert: - "slack" slack: slack_webhook_url: "XYZ"

Y la alerta que estoy recibiendo en mi canal slack se ve así:

DB2 test Rule DB2 test Rule At least 1 events occurred between 2016-04-29 07:51 UTC and 2016-04-29 19:51 UTC @timestamp: 2016-04-29T19:51:45.940Z @version: 1 _id: _index: logstash-2016.04.29 _type: db2 apphdl: appid: authid: day: 29 db: NEO eduid: eduname: function: host: hostname: hour: 14 id: instance: logLevel: Warning logMessage: LOADID: DATA #2 : Completed message: LEVEL: Warning

y ETC ETC ...

Me gustaría personalizar este mensaje de alerta para que me avise solo con los atributos que me interesan. (para ex timeline, loglevel y par de más).

¿Hay una manera de hacer eso? Un poco de ayuda o dirección a seguir es muy apreciada.