Commit Graph

71 Commits

Author SHA1 Message Date
Bjoern Rabenstein
c2cfb51171 License cleanup. 2015-01-22 15:45:23 +01:00
juliusv
9b7e59c0ce Merge pull request #22 from prometheus/optional-generator-url
Treat `GeneratorURL` as optional in Alerts page.
2015-01-11 17:58:46 +01:00
Julius Volz
41963417df Treat GeneratorURL as optional in Alerts page.
This fixes https://github.com/prometheus/alertmanager/issues/21

Otherwise, sending an alert with a missing `GeneratorURL` payload
property would cause the template rendering to crash:

    Error executing template: template: alerts.html:51:76: executing "content" at <.Alert.Payload.Gener...>: invalid value; expected string
2015-01-10 21:58:42 +01:00
Johannes 'fish' Ziemke
d2ce4fa3e7 Add Dockerfile
Change-Id: Ib544dc1dd0b29ecaf7a777a3bd55982961cbb1ae
2014-10-28 21:38:28 +01:00
Julius Volz
0642137a11 Fix alert expiry crashbug.
No, the array representation of a binary heap is of course *not* sorted.

Change-Id: Ib18c9b7e1bee24391f98d73135ac19c77026b168
2014-10-27 23:50:31 +01:00
Julius Volz
20b146657b Update HTTP/clientlib dependencies + cleanups.
Change-Id: I175ac4874b25358dd569866e3d575ba49e4357f2
2014-10-27 23:50:22 +01:00
Julius Volz
6d789102f9 Fix wrong repeat rate setting in config.go.
Change-Id: I362f4d2ad85eb21a64ac85814fdc2fa85da6a7f4
2013-09-11 17:55:47 +02:00
Julius Volz
be0e958d8f Major rewrite of alertmanager, adding inhibit support.
Change-Id: If11f3aec70ba2ac816b9b824a387ffdd2e51790f
2013-09-11 15:34:02 +02:00
Julius Volz
7c21fb1f5a Shorten links to Prometheus console in alertmanager UI.
Change-Id: Id22736ba573b031bc88b95442fa04e71893a52ae
2013-08-20 16:23:33 +02:00
Julius Volz
db87129fa8 Add .gitignore file.
Change-Id: I041bbc311bc817ab6ea1a54afafa46ab268513a1
2013-08-16 15:25:35 +02:00
Julius Volz
6b17d8cb6a Remove empty lines between labels in email notifications.
Also add test for email formatting.

Change-Id: I309018b021730dee80f9f5bd05eb1a96bf0d237e
2013-08-16 15:14:56 +02:00
Julius Volz
1388e0f411 Add missing "continue".
Change-Id: I737d653e9b6cb09c44903570e9c361d72c9b004d
2013-08-15 10:39:46 +02:00
Julius Volz
9b1293e407 Implement smarthost-based email notifications.
Change-Id: Ib7dbd70ca96783f87cd44af0d7338aad754e4c72
2013-08-15 10:35:41 +02:00
Julius Volz
288a65c699 Add missing build_info.go file.
Change-Id: Ie6fe120a8eee3273a65f2a68da8d8e59e9470080
2013-08-15 07:46:35 +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
add9eb231d Add missing instrumentation.go file to Git.
Change-Id: I073511190b9e279ff2a01b92d3a466e9e8778b2f
2013-08-14 17:11:50 +02:00
juliusv
6b595c18e5 Merge pull request #12 from prometheus/feature/show-prom-metadata
Show alerting rules and link back to Prometheus.
2013-08-14 08:09:09 -07:00
Julius Volz
3d897d43b7 Show alerting rules and link back to Prometheus. 2013-08-09 18:28:15 +02:00
Julius Volz
b05c4051d7 Remove search bar for now, since it's not yet supported. 2013-08-09 16:08:40 +02:00
Julius Volz
6e09e98225 Add HTML escaping to silence label input values. 2013-08-09 16:08:13 +02:00
Julius Volz
5fabdee4b0 Improve display of silence labels in index view. 2013-08-09 16:07:26 +02:00
Julius Volz
aaf3b8b942 Add static asset caching header. 2013-08-07 10:13:42 +02:00
Julius Volz
dcfe55d7e6 Rename alert_manager to alertmanager. 2013-08-05 11:49:56 +02:00
juliusv
cce597dd31 Update README.md 2013-08-05 11:18:40 +02:00
juliusv
852f465ed5 Merge pull request #11 from prometheus/config/reloading
Make config reloadable.
2013-08-05 00:56:33 -07:00
Julius Volz
571931a052 Make config reloadable during runtime. 2013-08-02 17:25:39 +02:00
juliusv
540891d361 Merge pull request #10 from prometheus/persist-silences
Persist silences to a local JSON file.
2013-07-31 09:54:18 -07: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
juliusv
0480321010 Merge pull request #9 from prometheus/rename-suppressions
Rename suppressions to silences everywhere.
2013-07-31 07:17:40 -07: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
juliusv
854f5ef47e Merge pull request #8 from prometheus/feature/notifications
First support for alert notifications; minor other features
2013-07-30 12:17:51 -07:00
Julius Volz
02ab1f904a PR comment fixups. 2013-07-30 16:36:43 +02:00
Julius Volz
d3f08b760b Minor UI cleanup. 2013-07-30 13:50:00 +02:00
Julius Volz
70e67b920c Implement PagerDuty notifications. 2013-07-30 13:49:55 +02:00
Julius Volz
f431335c69 Add more required fields to Event.
This adds mandatory Summary and Description fields to Event.

As for the alert name, there were two options: keep it a separate field and
treat it separately everywhere (including in silence Filter matching), or
make it a required field in the event's labels. The latter was causing far
less trouble, so I went with that. The alertname label still doesn't have
a special meaning to most parts of the code, except that the API checks its
presence and the web UI displays it differently.
2013-07-30 13:18:11 +02:00
Julius Volz
a64c37bb03 Add missing format string and separators in event fingerprinting. 2013-07-30 13:12:24 +02:00
Julius Volz
dbdd7aef16 Indicate silence status for each alert. 2013-07-29 18:45:33 +02:00
Julius Volz
669f5ef916 Fix /metrics endpoint name (was /metrics.json). 2013-07-29 18:44:06 +02:00
Julius Volz
5d4f9f7e11 Add notification options to configuration. 2013-07-29 18:43:01 +02:00
juliusv
55719e9d3e Merge pull request #7 from prometheus/feature/config-loading
Add loading configuration from file.
2013-07-27 14:32:37 -07: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
juliusv
3ddabd6fca Merge pull request #6 from prometheus/refactor/mutex-aggregator
Change Aggregator from channel-based to mutex-based.
2013-07-26 03:45:30 -07:00
Julius Volz
9b1a5aaf40 PR comment fixups. 2013-07-26 12:40:53 +02: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
juliusv
00efa4a4a5 Merge pull request #4 from prometheus/refactor/mutex-based
Change Suppressor from channel-based to mutex-based, add tests.
2013-07-22 09:51:23 -07: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
juliusv
19e1ad7096 Merge pull request #3 from prometheus/refactor/show-alerts
Show alerts in UI; add no-op silence dialog; cleanups.
2013-07-22 07:28:27 -07:00