Skip to content
This repository was archived by the owner on Feb 13, 2025. It is now read-only.

Added extra info to unknown templates - #2269

Merged
kylebrandt merged 1 commit into
bosun-monitor:masterfrom
bookingcom:fix_unknown_notification
Sep 20, 2018
Merged

Added extra info to unknown templates#2269
kylebrandt merged 1 commit into
bosun-monitor:masterfrom
bookingcom:fix_unknown_notification

Conversation

@pradeepbbl

Copy link
Copy Markdown
Contributor

Currently, we have a very limited number of variable available to the unknown templates which prevent us to match the alert and action notification template (includes incident states) and sometimes unknowns are getting unnoticed due inconsistency (when using external notification systems e.g. pagerduty).

With this patch, I tried to include the alert states to unknown which is very useful when grouping disable using unknownMinGroupSize.

Please let me know your thoughts.

 - conf/unknownNotify.go: added incident states to unknown context and a new func `IncidentUnknownLink` to build unknown incident link.
 - sched/notify.go: modified `sendUnknownNotifications` func to pass incident states.
 - docs/definitions.md: unknown template document update
@pradeepbbl
pradeepbbl force-pushed the fix_unknown_notification branch from 934df2d to 73e14ed Compare June 20, 2018 14:06
@pradeepbbl

pradeepbbl commented Jul 2, 2018

Copy link
Copy Markdown
Contributor Author

here is an example of a PagerDuty alert body template

pdMonitoringBody = `{
       "service_key": "XXXXXXXXXXXXXX",
       "event_type": "trigger",
       "description": "{{.Subject | jsonStr}}",
       "client": "bosun",
       "client_url": "{{.Incident}}",
       "incident_key": "AlertName={{.Alert.Name}};IncidentId={{.Id}}"
 }` 

if you make close attention to incident_key we use alert name and incident id combination to reduce duplication. With current unknown template contexts/var, it's impossible for us to prepare an unknown body that matches the above specification and due to this many unknowns are getting unnoticed by teams.

With this patch, we are able to produce the unknown body and post to PagerDuty successfully

pdMonitoringUnknownBody = `{
       "service_key": "XXXXXXXXXXXXX",
       "event_type": "trigger",
       "description": "Alert goes to unknown states",
       "client": "bosun",
       "client_url": "{{ .IncidentUnknownLink .States.Id }}",
       "incident_key": "AlertName={{.Name}};IncidentId={{.States.Id}}"
}`

@kylebrandt / @captncraig could you please let us know your thoughts?

@pradeepbbl

pradeepbbl commented Aug 10, 2018

Copy link
Copy Markdown
Contributor Author

can this be merged soon :)

@stepashka

Copy link
Copy Markdown

Hey @kylebrandt, @captncraig!
Any objections to this change? Is there something else we need to implement before this gets merged?
Thanks,
Anna

@kylebrandt
kylebrandt merged commit 97302ba into bosun-monitor:master Sep 20, 2018
sipidronov pushed a commit to sipidronov/bosun that referenced this pull request Sep 21, 2018
- conf/unknownNotify.go: added incident states to unknown context and a new func `IncidentUnknownLink` to build unknown incident link.
 - sched/notify.go: modified `sendUnknownNotifications` func to pass incident states.
 - docs/definitions.md: unknown template document update
@pradeepbbl
pradeepbbl deleted the fix_unknown_notification branch October 3, 2018 11:29
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants