All Projects → GDATASoftwareAG → Graylog-Plugin-AlertManager-Callback

GDATASoftwareAG / Graylog-Plugin-AlertManager-Callback

Licence: MIT license
A plugin for Graylog which provides the possibility to send alerts to the Prometheus AlertManager API.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Graylog-Plugin-AlertManager-Callback

graylog-plugin-netflow
[DEPRECATED] Graylog NetFlow plugin
Stars: ✭ 35 (+52.17%)
Mutual labels:  graylog, graylog-plugin
graylog-plugin-pipeline-processor
[DEPRECATED] Graylog Pipeline Message Processor Plugins
Stars: ✭ 21 (-8.7%)
Mutual labels:  graylog, graylog-plugin
graylog-plugin-logging-alert
Alert notification plugin for Graylog to generate log messages from alerts
Stars: ✭ 16 (-30.43%)
Mutual labels:  graylog, graylog-plugin
graylog-plugin-collector
Collector plugin for Graylog
Stars: ✭ 13 (-43.48%)
Mutual labels:  graylog, graylog-plugin
graylog-plugin-aws
Several bundled Graylog plugins to integrate with different AWS services like CloudTrail and FlowLogs.
Stars: ✭ 88 (+282.61%)
Mutual labels:  graylog, graylog-plugin
Pygelf
Python logging handlers with GELF (Graylog Extended Log Format) support
Stars: ✭ 56 (+143.48%)
Mutual labels:  graylog
Logrus mate
tool for logrus, let it easy to use
Stars: ✭ 148 (+543.48%)
Mutual labels:  graylog
Graylog Cp Watchguard
Graylog Content Pack for Watchguard Fireware Logging
Stars: ✭ 23 (+0%)
Mutual labels:  graylog
Prometheusalert
Prometheus Alert是开源的运维告警中心消息转发系统,支持主流的监控系统Prometheus,Zabbix,日志系统Graylog和数据可视化系统Grafana发出的预警消息,支持钉钉,微信,华为云短信,腾讯云短信,腾讯云电话,阿里云短信,阿里云电话等
Stars: ✭ 822 (+3473.91%)
Mutual labels:  graylog
Icinga Vagrant
Vagrant boxes for Icinga 2, Icinga Web 2, modules, themes and integrations (Graphite, InfluxDB, Elastic, Graylog, etc.)
Stars: ✭ 248 (+978.26%)
Mutual labels:  graylog
Graypy
Python logging handler for Graylog that sends messages in GELF (Graylog Extended Log Format).
Stars: ✭ 211 (+817.39%)
Mutual labels:  graylog
Quicklogger
Library for logging on files, console, memory, email, rest, eventlog, syslog, slack, telegram, redis, logstash, elasticsearch, influxdb, graylog, Sentry, Twilio, ide debug messages and throw events for Delphi/Firemonkey/freepascal/.NET (Windows/Linux/OSX/IOS/Android).
Stars: ✭ 137 (+495.65%)
Mutual labels:  graylog
Graylog Plugin Metrics Reporter
Graylog Metrics Reporter Plugins
Stars: ✭ 71 (+208.7%)
Mutual labels:  graylog
Graylog Ansible Role
Ansible role which installs and configures Graylog
Stars: ✭ 173 (+652.17%)
Mutual labels:  graylog
Office365 Audit Log Collector
Collector script for retrieving audit logs from the Office 365 API with file or network/graylog output.
Stars: ✭ 39 (+69.57%)
Mutual labels:  graylog
Kickoff Docker Php
🐳 🐘 🚀 Easily setup a PHP project with Docker
Stars: ✭ 213 (+826.09%)
Mutual labels:  graylog
Graylog Plugin Metrics
Graylog output plugin for Graphite and Ganglia
Stars: ✭ 16 (-30.43%)
Mutual labels:  graylog
Documentation
Stars: ✭ 133 (+478.26%)
Mutual labels:  graylog
Collector Sidecar
Manage log collectors through Graylog
Stars: ✭ 209 (+808.7%)
Mutual labels:  graylog
Graylog Plugin Threatintel
Graylog Processing Pipeline functions to enrich log messages with IoC information from threat intelligence databases
Stars: ✭ 132 (+473.91%)
Mutual labels:  graylog

Build Status    Codacy Badge    codecov    Known Vulnerabilities

Graylog AlertManager Notification Plugin

This plugin can be used for connecting Graylog alerts to the Prometheus AlertManager.

The plugin development is based on Graylog2/graylog-plugin-sample which is mentioned in the Graylog plugin documentation.

Note: this plugin is currently only available as "Legacy Alarm Callbacks" item after adding it to Graylog Legacy Alarm Callback

The current plugin version 1.2.2 has Graylog 3.3.5 as target. The plugin version 1.2.1 (see releases) targets Graylog 2.5.0 and above.

Use Case

You are using a Graylog for checking the logs for errors, a Prometheus for checking the service metrics and you would like to organize your alerts with a AlertManager you need to get your Graylog alerts into the AlertManager. This plugin provides the possibility to send your Graylog notifications with a AlertManager-Callback to your AlertManager.

AlertManager Endpoint

The plugin uses the /api/v1/alerts endpoint of AlertManager. You can find some documentation about this endpoint here.

Provided Information

The plugin provides the AlertManager several information out of the box:

  • stream_title - The title of the stream triggering the alert condition in Graylog
  • triggered_at - The time of triggering the alert condition in Graylog
  • triggered_rule_description - The generated rule description of triggered alert condition in Graylog
  • triggered_rule_title - The title of alert condition rule in Graylog

All of those information will be added as annotation.

The values startsAt, endsAt and generatorURL will be transmitted to the AlertManager as well. startsAt will be set to the point of time when the condition triggered the alert. endsAt will be set to the point of time when the condition triggered the alert plus the set grace time which is configured for the alert.

Additionally you can configure your own custom annotations and labels which should be submitted to the AlertManager (see screenshot below). You can use the JMTE Template as you might already know from the Graylog E-Mail Notification Callback.

List of provided keys you can use inside JMTE Templates:

  • stream_url - The stream url.
  • stream - The specific stream object. There you can use the properties of the stream object e.g. stream.title
  • alertCondition - The specific triggered alert condition. There you can use the properties of the alert condition oject e.g. alertCondition.createdAt
  • check_result - The specific check result. There you can use the properties of the check result object e.g. check_result.triggeredAt
  • backlog - A list containing messages matching the triggered condition if any. You can iterate through them with ${foreach backlog message}${message} ${end}
  • backlog_size - The amount of matching messages.

How to deploy on Graylog

You can easily build the plugin by executing ./gradlew build -x check --no-daemon. Afterwards there should be a .jar file inside the build/libs/ directory. Follow the instructions mentioned here to deploy this .jar file.

How to develop locally

You can use Docker and Docker-Compose to test changes of this plugin locally by following these steps:

  1. Build the JAR
  2. Run docker-compose up inside the development directory
  3. Access your local Graylog instance web-interface at http://localhost:9000/
  4. You can configure an alert to be send to http://alertmanager:9093/api/v1/alerts and access the AlertManager via http://localhost:9093/

Screenshots

Configuration of Callback

Planned Features

  • Implementation of EventNotification for usage as non-legacy notification plugin

You would like to contribute anything? - Take a look at CONTRIBUTING.md.

License

See LICENSE

Copyright

Copyright (c) 2019-2020 G DATA CyberDefense AG and other authors.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].