Commit Graph

25 Commits

Author SHA1 Message Date
Peter Fern ee3dc4804c Add web.external-url flag
Allows setting the full external URL for accessing Alertmanager, takes
precedence over web.hostname.

Fixes #95
2015-07-24 15:34:10 +10:00
Julius Volz 35b3741756 Add runbook and alertmanager URLs to PD+email notifications.
I don't have a way to test all the other notification mechanisms, which
is something we should fix in general. For now, only PagerDuty and email
have the new runbook and alertmanager URL information.

Not very happy with the overall cleanliness of this, and the codebase
overall, of course, but since we need this urgently tomorrow, I hope
this is fine for now.
2015-06-25 18:18:08 +02:00
Brian Brazil 89b13e1c73 Add a generic webhook notifier.
This allows for use cases such as kicking off shell scripts,
logging notifications, or anything else the alertmanager doesn't
directly support.
2015-05-27 23:57:18 +01:00
Julius Volz b4648a9e33 Migrate logging to use `prometheus/log`. 2015-05-23 23:21:44 +02:00
Ceesjan Luiten 180f7dcf31 Path prefix to support reverse proxies 2015-04-29 22:10:21 +02:00
Julius Volz 0db99c2c5e Make flag names consistent across projects. 2015-02-09 12:22:44 +01:00
Julius Volz be0e958d8f Major rewrite of alertmanager, adding inhibit support.
Change-Id: If11f3aec70ba2ac816b9b824a387ffdd2e51790f
2013-09-11 15:34:02 +02:00
Julius Volz 02b970b149 Show status and build information under /status.
Also add Makefile infrastructure for gathering status information.

Change-Id: Id7dcb9655d0b6024bf47d5dd41a7655df3635922
2013-08-14 18:56:41 +02:00
Julius Volz dcfe55d7e6 Rename alert_manager to alertmanager. 2013-08-05 11:49:56 +02:00
Julius Volz 571931a052 Make config reloadable during runtime. 2013-08-02 17:25:39 +02:00
Julius Volz 1233f671c7 Persist silences to a local JSON file.
Load silences at startup from a local JSON file, write them out every 10
seconds.

It's not perfect (writes may possibly be interrupted/inconsistent if the
program is terminated while writing), but this is a temporary solution
to keep people from going crazy about lost silences until we have a
proper storage management. If the JSON file gets corrupted, the alert
manager simply starts up without any silences loaded.
2013-07-31 17:58:39 +02:00
Julius Volz 65f83e973e Rename suppressions to silences everywhere.
This makes internal code consistent with the API and user interface.
2013-07-31 14:39:01 +02:00
Julius Volz 70e67b920c Implement PagerDuty notifications. 2013-07-30 13:49:55 +02:00
Julius Volz dbdd7aef16 Indicate silence status for each alert. 2013-07-29 18:45:33 +02:00
Julius Volz db599b6d26 PR comments fixups. 2013-07-26 17:39:46 +02:00
Julius Volz 24ac73af5d Add loading configuration from file. 2013-07-26 16:12:11 +02:00
juliusv 3f9cc9e3e3 Merge pull request #5 from prometheus/refactor/editable-silences
Implement silence create/read/update/delete API and UI workflow.
2013-07-26 07:08:31 -07:00
Julius Volz 0c3c75edb3 Change Aggregator from channel-based to mutex-based.
This removes >100 lines of boilerplate code in the Aggregator alone.
2013-07-26 02:13:11 +02:00
Julius Volz ba2247857d Implement silence create/read/update/delete API and UI workflow. 2013-07-26 00:23:13 +02:00
Julius Volz b49b7bba6f Change Suppressor from channel-based to mutex-based, add tests.
Start with the simplest possible locking scheme: lock the object-global
mutex at the beginning of each user-facing method. This is equivalent to
implicit locking provided by the reactor.

The reasoning behind this change is the incredible overhead of the
previous reactor request/response code:

Overhead for current model for every user-facing method:

- 2 struct type definitions (req/resp)
- 1 channel
  - 1 struct member definition site
  - 1 channel init site
  - 1 struct population site
  - 1 struct servicing site
  - 1 struct closing site
- 1 actual execution method

New lock-based code:

Per object: 1 lock
Per method:
- 1 taking the lock
- 1 actual execution method
2013-07-22 18:32:45 +02:00
Julius Volz 13b106bb2b Ensure flag parsing on startup. 2013-07-22 11:12:25 +02:00
Julius Volz cf78397107 Change model to be more state- and less event-focussed. 2013-07-19 10:52:04 +02:00
Julius Volz 44c69920f4 Preliminary web interface and pairing refactorings. 2013-07-17 17:45:01 +02:00
Matt T. Proud 48d0ba2b9b Initial interface cleanups. 2013-07-16 23:17:42 +02:00
Julius Volz f86966a0e7 Initial transliteration of https://gist.github.com/matttproud-soundcloud/fcb5153716eed0816863 2013-07-16 17:03:56 +02:00