Giter Club home page Giter Club logo

alertmanager's Introduction

Alertmanager

Prometheus Alertmanager - still experimental!

Alertmanager receives alerts generated by Prometheus and takes care of the following aspects:

  • manual silencing of specific alerts
  • inhibiting alerts based on alert dependencies
  • aggregating alerts by labelset
  • handling notification repeats
  • sending alert notifications via external services (currently email, PagerDuty or Pushover)

See config/fixtures/sample.conf.input for an example config. The full configuration schema including a documentation for all possible options can be found in config/config.proto. Alertmanager automatically reloads the configuration when it changes, so restarts are not required for configuration updates.

Building and running

make
./alertmanager -logtostderr -config.file=/path/to/alertmanager.conf

Configuring Prometheus to send alerts

To make Prometheus send alerts to your Alertmanager, set the alertmanager.url command-line flag on the server:

./prometheus -alertmanager.url=http://<alertmanager-host>:<port> <...other flags...>

Prometheus only pushes firing alerts to Alertmanager. Alertmanager expects to receive regular pushes of firing alerts from Prometheus. Alerts which are not refreshed for a period of -alerts.min-refresh-period (5 minutes by default) are expired.

Alertmanager only shows alerts which are currently firing and pushed to Alertmanager.

Running tests

make test

Caveats and roadmap

Alertmanager is still in an experimental state. Some of the known caveats which are going to be addressed in the future:

  • Alertmanager is run as a single instance and does not provide high availability yet. We plan on clustering multiple replicated Alertmanager instances to ensure reliability in the future.
  • Relatedly, silence information is currently only persisted locally in a file and lost if you lose the machine your Alertmanager is running on.
  • Alert aggregation needs to become more flexible. Currently alerts are aggregated based on their full labelsets. In the future, we want to allow grouping alerts based on a subset thereof (for example, grouping all alerts with one alert name and from the same job together).
  • For alert dependencies, we want to support time delays: if alert A inhibits alert B due to a dependency and B begins firing before A, wait for a configurable amount of time for A to start firing as well before sending notifications for B. This is not yet supported.
  • Alertmanager has not been tested or optimized for high alert loads yet.

alertmanager's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.