Commit Graph

274 Commits

Author SHA1 Message Date
Manos Fokas 300a87e85b Removed file changes to resolve conflict. (#1318)
Signed-off-by: manosf <manosf@protonmail.com>
2018-04-17 16:22:46 +02:00
ranbochen b4048f46bc fix wechat issue (#1293) 2018-03-20 12:21:19 +01:00
Simon Pasquier 8c9e0cf50c config: set global SMTP hello to "localhost" by default (#1290) 2018-03-16 14:45:17 +00:00
pasquier-s e67aa8edae Hide sensitive Wechat configuration + remove default fields (#1253)
* Hide sensitive Wechat configuration

* Don't send resolved alerts for Wechat by default
2018-03-02 09:49:41 +01:00
Simon Pasquier 955c92f1b6 Configure http client for Wechat 2018-02-13 14:52:53 +01:00
Simon Pasquier 8b93f1085d Add tests for HTTP client configuration 2018-02-13 14:30:59 +01:00
Frederic Branczyk d678022fea *: configure http client from config 2018-02-13 14:30:59 +01:00
songjiayang d07a072b08 Fix WeChat issue (#1229)
* fix wechat issue

* wechat issue code review
2018-02-11 20:09:47 +01:00
pasquier-s 76ee5388e7 Forbid 0 value for group_interval and repeat_interval (#1230)
Setting one of these parameters to a zero value doesn't make sense
semantically and can cause high CPU usage.
2018-02-09 10:53:46 +01:00
Mike Bryant 6615ed15d2 Add templating to PD-CEF fields; Add missing field (#1231)
* Allow templating of Component and Group in PagerDuty v2

Related to #1211

* Add missing PD-CEF field Component
2018-02-09 10:50:18 +01:00
Carlos Alexandro Becker c5ea346d06 allow global opsgenie api key (#1208)
* allow global opsgenie api key

* added missing files

* removed test
2018-01-29 16:05:17 +01:00
Evan Baker 6a3dfaff45 Add Slack additional "fields" to notifications (#1135)
* impl slack fields

* wrap title and value in tmplText
2017-12-15 12:18:05 +01:00
stuart nelson 7736ea0f61
Add footer field for slack messages (#1141) 2017-12-12 22:50:41 +01:00
berlinsaint 6bab629590 Add notify support for Chinese User wechat (#1059)
* WECHAT support by ybyang2/berlinsaint

* correct the whitespace

* add some TestFile and modify some naming errors by ybyang2/berlinsaint

* modify wechat retry test expect

* template error

* add newline
Signed-off-by: yb_home <berlinsaint@126.com>

* fmt some pr code

* use the @stuartnelson3 the test-ci-wechat bingdata.go

* notify go add wechat
2017-12-09 16:20:22 +01:00
xginn8 266baa089c Adding check for webhook's URL formatting (#1129)
* Adding check for webhook's URL formatting
Since alertmanager will fail silently when trying to send to a schemaless URL, provide a way to check that a URL is properly formatted in alertmanager

* updating error message as requested
2017-12-07 15:01:16 +01:00
Tom Fawcett fd0ace8d88 Support OpsGenie Priority field (#1094) 2017-11-12 12:01:19 -05:00
Jose Donizetti 7168749a9f Add test to missing pagerduty routing_key (#1097) 2017-11-12 11:38:01 -05:00
Jose Donizetti 76c15a0ef5 Fix config name inconsistency (#1087)
* Rename global config hipchat_url to hipchat_api_url

* Rename opsgenie config 'host' to 'url'
2017-11-11 15:01:21 +01:00
Steven Carvellas 5db8055bab Add support for PagerDuty API v2 (#1054) 2017-11-07 11:07:27 +01:00
Julius Volz 9b72c10134 Minor code cleanups 2017-11-01 23:08:34 +01:00
Jose Donizetti ae73a3103a Add tests to notifiers config (#1050) 2017-10-23 10:55:34 +02:00
Jose Donizetti 4369eb3244 Improve config test coverage (#1046) 2017-10-19 21:00:35 +02:00
Pierre Awaragi f3cd3978db added email notification text content support (#934)
* added email notification text content support (configuration text)
added default email notification text content default value empty
converted email notification from html to multipart/alternatives with support to both html (first) and text (last)
ignore intellij IDE .idea working folder

* removed specific editor .gitignore entries

* renamed TEXT to Text as it's not an acronym
added TODO note to refactor multipart code to use standard go library

* refactored to use standard go mime/multipart library for text and html parts and bounderies

* use multipart createPart returned writer
added error handling while creating parts
removed unnecessary quotes from boundry string

* removed unnecessary comments
2017-09-07 17:24:19 +02:00
9to6 e1b2bfe497 When I notify alert to slack, I want to use this option. (#912)
* add link_names attribute to slack notifier

* changed type of slack option `link_names` to boolean
2017-07-25 09:21:33 +02:00
ideaship a566036015 Support for custom SMTP hello string (#892)
* Support for custom SMTP hello string

Some MTAs insist that they be greeted with a fully qualified domain
name. The default provided by the net/smtp library, "HELLO localhost",
is not sufficient and will result in rejected messages.

This changeset adds a new configuration option that allows the
alertmanager to do its job in such an environment.

* Test SMTPHello parsing
2017-07-18 09:32:57 +02:00
Carlos Alexandro Becker ca8d73a59b Added possibility to have a global victorops api_key (#897)
* Added possibility to have a global victorops api_key

* adding tests for victorops default key
2017-07-12 09:25:47 +02:00
Siavash Safi d5f0d1773f Add entity_display_name for VictorOps, use better state_message (#769)
* Add entity_display_name for VictorOps, use better state_message

* Reuse existing long-form templates for state_message

* Rebuild binaries

* Limit state_message to 20K
2017-07-03 11:44:53 +02:00
Conor Broderick b5ad65fa32 Omit empty config fields and show regex upon re-marshalling to elide secrets (#864)
* Omit empty config fields upon remarshalling to elide secrets

* added test checking for empty or null fields and blank regexps
2017-06-20 19:09:14 +02:00
Frederic Branczyk c4c0875ba3
fix config JSON marshaling 2017-06-08 13:37:57 +02:00
Conor Broderick 5a5acb2d1c Elide secrets in alertmanager config (#841) 2017-06-06 12:02:49 +01:00
Conor Broderick a77bfb44d6 Added unit test for continue in root route error (#768)
* Added unit test for continue in root route error

* replaced %v with %q
2017-05-09 10:11:40 +02:00
Kellen Fox 6aece86ac1 Fixes #746
Found that we are only defining MarshalJSON for the Regexp type for
references not for the direct object

Also took the time to simplify the json.Unmarshal usage in cli/config.go
2017-05-08 11:25:25 -07:00
conorbroderick dc782f2dd4 Throw error when continue in route root of Alertmanager config 2017-05-03 13:40:54 +01:00
Kellen Fox 3aab66ec3a Amtool implementation (#636)
* Implement alertmanager cli tool 'amtool'

The primary goal of an alertmanager tool is to provide a cli interface
for the prometheus alertmanager.

My vision for this tool has two parts:
  - Silence management (query, add, delete)

  - Alert management (query, maybe more in future?)

Resolves: #567
2017-04-20 11:04:17 +02:00
Conor Broderick b7bea3df5c Renamed from and message options for VictorOps to monitoring_tool and state_message as per the VictorOps documentation (#667) 2017-03-24 14:06:39 +00:00
devnev f2ba86e9d2 Add proper JSON marshaling of config regexps. (#602) 2017-01-17 11:50:54 +01:00
Fabian Reinartz d7843ad6a6 Export parsed configuration as JSON and drop js-yaml dependency. (#563)
* Export parsed configuration as JSON in /api/v1/status.
* Avoid exporting the XXX fields.
* Drop js-yaml library and use already parsed configuration.
* Go fmt + go-bindata
2016-11-22 15:05:14 +01:00
Fabian Reinartz b6851a5421 silences: fix concurrent cache writes (#561)
This fixes #559 by removing concurrent map writes to the matcher cache.
The cache was guarded by the Silence's main lock, which only used a
read-lock on queries.
The cache's get methods lazily loads data into the cache and thus
causing concurrent writes.

We just change the main lock to always write-lock, as we don't expect
high lock contention at this point and would have it in a dedicated
cache lock anyway.
2016-11-21 11:09:49 +01:00
sgissi 96a428a55e config/notify: Add SMTP Require TLS global option (#512) 2016-09-27 11:00:21 +02:00
Fabian Reinartz c01c1989a7 config: check overflow in global section 2016-09-05 11:30:07 +02:00
Fabian Reinartz b822fe58b6 Merge branch 'slack_enhance' of https://github.com/dmclain/alertmanager into dmclain-slack_enhance 2016-08-09 14:46:39 +02:00
Fabian Reinartz f8de58b6b6 config: make Slack channel optional 2016-08-03 08:24:42 +02:00
Djordje Atlialp 8e0f405e67 Add VictorOps Notifier
Add default VictorOpsAPIURL

Add VictorOps default config

Add VictorOpsConfig struct in notifiers

Add new template tags for victorops

Add notifications logic for victorops

Compiled template tags with make assets

Remove common labels from entity_id template

Set messageType default value to CRITICAL

Recovery messageType is not configurable anymore. Firing state only allows specific keys

Make assets

Using log.Debugf

EntityID should not be configureable

Remove entity_id from template

Use GroupKey(ctx) as entity_id

Improve debug logging

Fix type of entity_id
2016-07-27 00:49:05 +02:00
Tristan Colgate de2252911e OpsGenie Notifier, fixes and additions:
- OpsGenie notifier confused the description and message fields
- Also added the notes field.
2016-07-12 16:20:23 +01:00
Diogo Monteiro fe12aaa6eb Updated webhook notifier config name in UnmarshalYAML. 2016-06-28 18:19:09 -04:00
Matt Bostock a29860d80e Allow route receiver to be inherited
This is useful when you're using a label to determine the receiver but
want to override other options such as `group_by`. Currently you'd have
to duplicate the matchers for the receivers to be able to do this.

`checkReceiver()` now returns no error if a receiver is empty and we add
a check to ensure that the root route has a receiver defined. I've added
a test for this.

This brings the `receiver` option into line with the other options
(`group_by`, `group_wait`, etc) in the sense that routes can now inherit
the receiver from the parent node.

From https://prometheus.io/docs/alerting/configuration/:

> A route block defines a node in a routing tree and its children. Its
> optional configuration parameters are inherited from its parent node
> if not set.
2016-06-04 10:19:43 +01:00
Dave McLain c5d1c48610 Add support for overriding the icon_url slack parameter 2016-05-12 13:57:15 -05:00
Max Chadwick 4cb3874ab8 Move SMTP auth to the config file 2016-04-16 16:41:55 -04:00
Fabian Reinartz f33c1bedb4 Hide PushOver auth information 2016-04-12 10:14:22 +02:00
Michael Stapelberg 5158926bc3 Re-do #163: smtp: STARTTLS before querying auth mechanisms
This was not ported over with the rewrite.
2016-04-01 16:50:12 +02:00
Seb Dijols 7d512eba56 Add support for Teams and Tags to OpsGenie notifier
Add Teams and Tags templated strings to OpsGenieConfig. Output must be comma-separated values.
2016-03-16 09:54:21 +00:00
Fabian Reinartz 1748a0e304 Merge pull request #258 from stapelberg/pushover
Re-implement pushover notifications
2016-03-04 10:02:53 +01:00
Brian Brazil dff7953baa Make the first letter title case, not all of them. 2016-03-03 14:06:11 +00:00
Michael Stapelberg 4c0aa00bcf Re-implement pushover notifications
This feature was dropped during the rewrite, but I use and like
Pushover.

fixes #107
2016-03-03 09:07:33 +01:00
Alexis Savin b364ca535e Adding support for slack icon_emoji in slack config.
```
slack_configs:
  - send_resolved: true
    username: 'Prometheus'
    channel: '#monitoring'
    icon_emoji: ':prometheus:'
    api_url: 'https://hooks.slack.com/services/<token>'
```
2016-02-16 11:54:30 +01:00
Johannes 'fish' Ziemke e5925db736 Fix indent 2016-01-28 13:44:21 +01:00
Fabian Reinartz 11fa642998 Add routing validation
The root route in the configuration must not exclude any alerts,
i.e. not have any matchers.
All receivers referenced in the routing tree are validated to exist.
2016-01-27 14:27:19 +01:00
louis 960acdba65 remove checking auth token in config/notifiers.go 2016-01-06 16:25:34 +01:00
Fabian Reinartz d7791329e7 Merge pull request #208 from 0x46616c6b/hipchat-integration
Readd Hipchat Integration
2016-01-06 11:29:41 +01:00
louis 23db37dc98 add hipchat room notifier 2016-01-05 20:52:08 +01:00
Brian Brazil 9a175d7b4f Don't send resolved to Slack by default
Slack is a general chat system, it has no notion
of resolved messages. Default it to false to avoid
spamming people as we do with all other such systems.
2016-01-05 18:01:21 +00:00
Fabian Reinartz d21d29ee58 Correctly parse send_resolved config field
Fixes #198
2015-12-23 08:31:50 +01:00
Fabian Reinartz 9b4479cb6b Move send_resolved parameter to notifier configuration 2015-12-17 13:43:56 +01:00
Fabian Reinartz 2a879f649f Fix email From configuration 2015-12-08 11:55:28 +01:00
Fabian Reinartz 7581d974ff Hide secret configuration data 2015-12-03 12:46:28 +01:00
Brian Brazil 24b2da9482 Fix typo in filename 2015-11-30 18:37:47 +00:00
Fabian Reinartz 18e9e728f8 Improve Slack integration 2015-11-30 13:52:41 +01:00
Fabian Reinartz 42b73a6291 Add missing template data argument 2015-11-30 11:21:08 +01:00
Fabian Reinartz 00b8a2ad03 Make resolve timeout configurable 2015-11-27 15:41:22 +01:00
Fabian Reinartz 9fbc76a52f Improve PagerDuty templating 2015-11-27 14:02:34 +01:00
Jimmi Dyson 7c9700e76c Correct error message for missing OpsGenie API key 2015-11-25 10:38:29 +00:00
Jimmi Dyson 3e7d614eb2 Add opsgenie notifier 2015-11-24 22:29:25 +00:00
beorn7 93ffa534a5 PR with changes after code review
Now to be reverse-reveiewed.
2015-11-23 18:24:57 +01:00
Fabian Reinartz 3386cea9df Anchor config regexes 2015-11-19 08:53:29 +01:00
Brian Brazil faa88831f4 First-pass at improving template system.
- Cut back to bare minimum to make the rest simpler
- Consistency in config naming
- Have one data strucutre that's the same for all templates
- Pass in common labels to templates
- Support templates almost everywhere
- Support multiple SMTP recipients
- Support non-ASCII SMTP headers
- Handle colour logic via templates
- Make $subjects have consistent output, go maps aren't sorted.
- Make tests pass when v6 is disabled
2015-11-18 14:59:05 +00:00
Fabian Reinartz d6611651c4 Fix unused import 2015-11-12 15:02:33 +01:00
Fabian Reinartz 3e685642c7 Fix golint issues in config/ 2015-11-12 12:57:20 +01:00
Fabian Reinartz dc656a44ea Adjust config fields to 'receiver' 2015-11-10 14:08:20 +01:00
Fabian Reinartz e4e594d826 Unify receiver naming 2015-11-10 13:47:04 +01:00
Fabian Reinartz 5ce39632f8 Fix go vet warnings 2015-11-05 10:25:25 +01:00
Fabian Reinartz cb0ecd9416 Alter config to have a root route 2015-10-19 16:52:54 +02:00
Fabian Reinartz ef0ee97781 Implement global routing options 2015-10-19 16:17:15 +02:00
Fabian Reinartz aead14a99f Implement initial PagerDuty notifications 2015-10-19 13:36:17 +02:00
Fabian Reinartz 6ff0cd94c5 Finalize PagerDuty config 2015-10-19 11:44:46 +02:00
Fabian Reinartz 0b818bac38 Implement global setting of notification parameters 2015-10-17 10:02:32 +02:00
Fabian Reinartz e77bda4e9f Fix inverted cleanup trigger, proper mail notifications 2015-10-16 17:45:21 +02:00
Fabian Reinartz ce15d774d6 Add hierarchical naming for templates 2015-10-11 17:09:59 +02:00
Fabian Reinartz 6e47e75ac5 Enhance email notifier templating 2015-10-11 12:34:05 +02:00
Fabian Reinartz f62dc65ff4 Implement initial email notifications 2015-10-09 12:03:15 +02:00
Fabian Reinartz 7ef293d9bc Make loadable templates configurable 2015-10-09 11:06:04 +02:00
Fabian Reinartz e209c8b4fc Outlined slack notification support 2015-10-09 10:48:25 +02:00
Fabian Reinartz d1379a3f71 Move repeat_interval and send_resolved to route configuration 2015-10-08 10:50:37 +02:00
Fabian Reinartz 24e3ff856d Standardize color handling 2015-10-01 15:25:12 +02:00
Fabian Reinartz 794b7c4a1a Fix configuration docs 2015-10-01 15:17:13 +02:00
Fabian Reinartz a540d672a3 Fix notificatio config fields 2015-09-29 20:45:23 +02:00
Fabian Reinartz 797bfa1468 Fix group and repeat interval differentiation 2015-09-26 18:03:54 +02:00
Fabian Reinartz ebb7740fb9 Move config into own package and refactor 2015-09-26 11:14:18 +02:00
Fabian Reinartz bbe679b432 initial alert routing tree 2015-07-01 17:56:53 +02:00
Fabian Reinartz 47967ba6e9 switch to common/model types 2015-06-30 08:43:38 +02:00
Fabian Reinartz 2e1a01b2fa switch to YAML config. 2015-06-29 18:53:47 +02:00
Julius Volz 6f0fa88489 Merge pull request #62 from SQiShER/master
Added support for @mentions in HipChat notifications
2015-05-28 14:55:28 +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
Benjamin Staffin ff4763ea37 Update fsnotify to its new source location 2015-05-23 16:04:34 -07:00
Daniel Bechler 2d7992a59b Added support for @mentions in HipChat notifications 2015-05-24 00:11:13 +02:00
Julius Volz b4648a9e33 Migrate logging to use `prometheus/log`. 2015-05-23 23:21:44 +02:00
Tomas Karasek 5b1c59f0cc rewrote to better fit in exisitng code 2015-05-19 14:31:06 +03:00
Tomas Karasek 48cdc777ce improve Flowdock PR based on julius' comments 2015-05-19 11:37:22 +03:00
Tomas Karasek ffd54a3ee6 added flowdock block to sample config 2015-05-18 19:17:19 +03:00
Tomas Karasek bfcded79e8 Added flowdock notifier 2015-05-18 19:07:56 +03:00
Steve Durrheimer df0ce42d42 Add simple support for Slack notifications 2015-05-10 22:21:18 +02:00
Julius Volz fd2a1e6099 Update hosting location of protobuf package. 2015-04-29 22:05:32 +02:00
Johannes 'fish' Ziemke 735e8075d2 Add support to notify for resolved alerts
Change-Id: I31fc51d2a47d92e9d7ac2ba224c7fce02b28444e
2015-04-24 19:29:52 +02:00
Cameron Davison f4f6ceccc4 Add simple support for HipChat notifications 2015-04-13 17:49:46 -05:00
Anton Lindström a0c156e3e6 add pushover as notification method
This adds https://pushover.net/ as a way of notification.
2015-02-17 05:44:45 +00: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 add9eb231d Add missing instrumentation.go file to Git.
Change-Id: I073511190b9e279ff2a01b92d3a466e9e8778b2f
2013-08-14 17:11:50 +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 02ab1f904a PR comment fixups. 2013-07-30 16:36:43 +02:00
Julius Volz 5d4f9f7e11 Add notification options to configuration. 2013-07-29 18:43:01 +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