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
Julius Volz
24d9977c95
Run go fmt.
2013-07-22 11:02:45 +02:00
Julius Volz
ca1eb66df4
Add BUG comment about aggregator draining.
2013-07-19 18:10:40 +02:00
Julius Volz
606d120541
Move aggregator scenario tests to separate type.
2013-07-19 15:26:51 +02:00
Julius Volz
f9bca4ba2b
Remove unused timer.
2013-07-19 15:15:53 +02:00
Julius Volz
bc57fa4936
Add initial aggregator tests.
2013-07-19 15:05:45 +02:00
Julius Volz
a8bd98b7e1
Fix regex filters to match complete string.
...
If someone specifies
service = "foo-service"
...they probably don't want it to match:
service = "foo-servicebar"
2013-07-19 13:39:15 +02:00
Julius Volz
648a79a3e1
Synchronize Close(), fix race conditions.
...
Close() was not synced through the main dispatcher loop, so it could close
channels that were currently being written to by methods called from said
dispatcher loop. This leads to a crash. Instead, Close() now writes a
closeRequest, which is handled in the dispatcher.
2013-07-19 13:39:05 +02:00
juliusv
f362b04f61
Merge pull request #1 from prometheus/event-model-reworking
...
Change model to be more state- and less event-focussed.
2013-07-19 02:17:43 -07:00