Ok I see problem, but how can i separate email subjects from alert and alert-resolved? Can I somehow insert 2 templates of email or 2 templates of subject into 1 alert? How alertmanager will know when to use 1st template and second?
pt., 14 maj 2021 o 08:45 Sebastian Glock <[email protected]> napisał(a): > Ok so this one should look like this: > > - alert: CPU load is more than 80%! > expr: 100 - (1 -avg(irate(windows_cpu_time_total{mode="user"}[10m])) > by (instance)) * 100 >= 40 > for: 10s > labels: > severity: "[High]" > annotations: > summary: "CPU load is more than 80%!" > description: "{{ humanize $value }}%" > > > and alertmanager: > > - receiver: alert-emailer-cpu-1h-resolved > repeat_interval: 1m > match: > severity: "[High-CPU]" > > > - name: alert-emailer-cpu-1h-resolved > email_configs: > - to: '[email protected]' > send_resolved: true > from: **** > smarthost: **** > auth_username: '**** > auth_password: **** > auth_secret: **** > auth_identity: *** > html: '{{ template "email" .}}' > headers: > subject: "[CUK][RESOLVED]{{ .CommonLabels.severity }} {{ > .CommonLabels.instance }} {{ .CommonLabels.alertname }} | {{ > .CommonAnnotations.description }}" > > I'm right or something wrong? What if I want to configure send resolved > for all alerts? I have many recivers based on severity in recivers and i > want only to see mail with "[RESOLVED]" in subject. > > I think there's something wrong because it's not working :( > > śr., 31 mar 2021 o 22:31 Matthias Rampke <[email protected]> > napisał(a): > >> To Prometheus, "resolved" is not a separate first class event. >> >> As long as an alert is "firing" in Prometheus, it sends a constant stream >> of "still firing" messages to Alertmanager. If there are multiple alerts >> firing, or multiple label combinations for one alert, there's more >> notifications. AM takes these streams of "still bad", deduplicates, and >> groups them. >> >> This leads to an alert group with 1 or more alerts in it. In configurable >> intervals, Alertmanager will send a notification to the configured >> receiver(s). This is when the templates are evaluated. While a group >> exists, individual alerts can be added and removed, this often triggers >> additional notifications. Finally, when the last alert in a group is >> resolved, another notification is fired. >> >> It is important here that this notification uses the same receiver, and >> the same templates, as all the previous ones! The choice of Slack color is >> only done based on the state of each notification, you can see how it's >> done in the default value of the "color" setting: >> https://prometheus.io/docs/alerting/latest/configuration/#slack_config >> >> You need only one receiver and set send_resolved: true on it. Then you >> can use templating to make these emails have different subjects depending >> on the contents of each notification. >> >> /MR >> >> On Wed, Mar 31, 2021, 09:19 Sebastian Glock <[email protected]> >> wrote: >> >>> I have something like this: >>> >>> global: >>> route: >>> receiver: alert-emailer-cpu-30m >>> >>> group_by: ['alertname', 'priority', 'instance'] >>> group_wait: 10s >>> group_interval: 10s >>> repeat_interval: 30m >>> # resolve_timeout: 10s >>> routes: >>> >>> >>> #rebooted >>> >>> >>> - receiver: alert-emailer-reboot-30m >>> repeat_interval: 30m >>> match: >>> severity: "[Rebooted]" >>> >>> >>> #CPU >>> >>> - receiver: alert-emailer-cpu-30m >>> repeat_interval: 1m >>> match: >>> severity: "[Disaster-CPU]" >>> >>> >>> - receiver: alert-emailer-cpu-1h >>> repeat_interval: 1m >>> match: >>> severity: "[High-CPU]" >>> >>> >>> - receiver: alert-emailer-cpu-3h >>> repeat_interval: 1m >>> match: >>> severity: "[Average-CPU]" >>> >>> >>> #resolved >>> >>> - receiver: alert-emailer-cpu-30m-resolved >>> repeat_interval: 1m >>> match: >>> severity: "[Disaster-CPU]" >>> >>> >>> - receiver: alert-emailer-cpu-1h-resolved >>> repeat_interval: 1m >>> match: >>> severity: "[High-CPU]" >>> >>> >>> - receiver: alert-emailer-cpu-3h-resolved >>> repeat_interval: 1m >>> match: >>> severity: "[Average-CPU]" >>> >>> >>> #cpu >>> >>> - name: alert-emailer-cpu-1h >>> email_configs: >>> - to: '[email protected]' >>> send_resolved: false >>> from: '******' >>> smarthost: '******' >>> auth_username: '******' >>> auth_password: '******' >>> auth_secret: '******' >>> auth_identity:'******' >>> html: '{{ template "email" .}}' >>> headers: >>> subject: "[CUK]{{ .CommonLabels.severity }} {{ >>> .CommonLabels.instance }} {{ .CommonLabels.alertname }} | {{ >>> .CommonAnnotations.description }}" >>> >>> - name: alert-emailer-cpu-1h-resolved >>> email_configs: >>> - to: '[email protected]' >>> send_resolved: true >>> from: '******' >>> smarthost: '******' >>> auth_username: '******' >>> auth_password: '******' >>> auth_secret: '******' >>> auth_identity:'******' >>> html: '{{ template "email" .}}' >>> headers: >>> subject: "[CUK][RESOLVED]{{ .CommonLabels.severity }} {{ >>> .CommonLabels.instance }} {{ .CommonLabels.alertname }} | {{ >>> .CommonAnnotations.description }}" >>> >>> - name: alert-emailer-cpu-30m >>> email_configs: >>> - to: '[email protected]' >>> send_resolved: false >>> from: '******' >>> smarthost: '******' >>> auth_username: '******' >>> auth_password: '******' >>> auth_secret: '******' >>> auth_identity:'******' >>> html: '{{ template "email" .}}' >>> headers: >>> subject: "[CUK]{{ .CommonLabels.severity }} {{ >>> .CommonLabels.instance }} {{ .CommonLabels.alertname }} | {{ >>> .CommonAnnotations.description }}" >>> >>> - name: alert-emailer-cpu-30m-resolved >>> email_configs: >>> - to: '[email protected]' >>> send_resolved: true >>> from: '******' >>> smarthost: '******' >>> auth_username: '******' >>> auth_password: '******' >>> auth_secret: '******' >>> auth_identity:'******' >>> html: '{{ template "email" .}}' >>> headers: >>> subject: "[CUK][RESOLVED]{{ .CommonLabels.severity }} {{ >>> .CommonLabels.instance }} {{ .CommonLabels.alertname }} | {{ >>> .CommonAnnotations.description }}" >>> >>> >>> @Matthias Rampke <[email protected]> so U think i should add >>> .Alerts.Resolved: {{ if gt (len .Alerts.Firing) 0 }} to alert? Where >>> prometheus hold's that alert is resolved? I thought in slack it will show >>> that alert has been resolved, but in prometheus that alert is just green >>> and show nothing. >>> >>> wt., 30 mar 2021 o 12:24 Matthias Rampke <[email protected]> >>> napisał(a): >>> >>>> I *think* you can have one email config, and toggle whether to show >>>> [RESOLVED] as part of the template. Looking at the default templates >>>> <https://github.com/prometheus/alertmanager/blob/master/template/default.tmpl>, >>>> it seems like the way to do that is to check for the length of >>>> .Alerts.Firing and .Alerts.Resolved: {{ if gt (len .Alerts.Firing) 0 }} >>>> etc. >>>> >>>> /MR >>>> >>>> On Tue, Mar 30, 2021 at 9:02 AM Stuart Clark <[email protected]> >>>> wrote: >>>> >>>>> On 29/03/2021 14:20, Sebastian Glock wrote: >>>>> > I tried to do something like this: >>>>> > >>>>> > ``` >>>>> > - name: alert-emailer-cpu-1h >>>>> > email_configs: >>>>> > - to: '[email protected]' >>>>> > send_resolved: false >>>>> > from: '*****' >>>>> > smarthost:'*****' >>>>> > auth_username: '*****' >>>>> > auth_password: '*****' >>>>> > auth_secret: '*****' >>>>> > auth_identity:'*****' >>>>> > html: '{{ template "email" .}}' >>>>> > headers: >>>>> > subject: "[CUK]{{ .CommonLabels.severity }} {{ >>>>> > .CommonLabels.instance }} {{ .CommonLabels.alertname }} | {{ >>>>> > .CommonAnnotations.description }}" >>>>> > >>>>> > - name: alert-emailer-cpu-1h-resolved >>>>> > email_configs: >>>>> > - to: '[email protected]' >>>>> > send_resolved: true >>>>> > from: '*****' >>>>> > smarthost: '*****' >>>>> > auth_username: '*****' >>>>> > auth_password: '*****' >>>>> > auth_secret: '*****' >>>>> > auth_identity: '*****' >>>>> > html: '{{ template "email" .}}' >>>>> > headers: >>>>> > subject: "[CUK][RESOLVED]{{ .CommonLabels.severity }} {{ >>>>> > .CommonLabels.instance }} {{ .CommonLabels.alertname }} | {{ >>>>> > .CommonAnnotations.description }}" >>>>> > ``` >>>>> > >>>>> > 1 alert without send resolved, second with send resolved: true. I >>>>> > thought i'll get an email "alert-emailer-cpu-1h-resolved" after 5 >>>>> > minutes when 1st alert "alert-emailer-cpu-1h" goes out. Is there any >>>>> > other way to solve that? >>>>> > >>>>> > Thanks for your help! >>>>> >>>>> Could you post the whole alertmanager config? >>>>> >>>>> -- >>>>> Stuart Clark >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Prometheus Users" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/prometheus-users/c6ee84ab-4b5b-9dde-db46-ae45f0dc8944%40Jahingo.com >>>>> . >>>>> >>>> -- You received this message because you are subscribed to the Google Groups "Prometheus Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-users/CAFn4LSqsPpg6FXpPttqFFR5CXi%3Dv5t3MpL7HC7GitybaFfpF-w%40mail.gmail.com.

