Commit Graph

65 Commits

Author SHA1 Message Date
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
Julius Volz ed289d58f0 Remove crufty logging statement. 2013-07-22 16:26:54 +02:00
Julius Volz 827d3c3710 Show actual alerts in UI and add no-op silence dialog. 2013-07-22 11:12:25 +02:00
Julius Volz 71a9d4af35 Ensure minimum repeat rate for events. 2013-07-22 11:12:25 +02:00
Julius Volz 436643f94e Cleanup: rename "element" to "event". 2013-07-22 11:12:25 +02:00
Julius Volz 13b106bb2b Ensure flag parsing on startup. 2013-07-22 11:12:25 +02:00
juliusv 8182f1bbc0 Merge pull request #2 from prometheus/refactor/aggregator
Fix bugs in aggregator and filters, add initial tests
2013-07-22 02:11:33 -07:00