prometheus / alertmanager

Prometheus Alertmanager
https://prometheus.io
Apache License 2.0
6.55k stars 2.13k forks source link

Templates at route level #3730

Open JesusFrontelo opened 6 months ago

JesusFrontelo commented 6 months ago

Hi!

I'm trying to define a lot of matchers and their corresponding receivers, but I've run into a bit of a problem.

If I want to set up a matcher, based on label severity with the value info (for example), for a receiver, and then I want to set up a matcher based on the same label, but with a different value, and I need the email to be sent with a different template for that particular value, I should also create the receiver again with a different name.

Would it be possible to define templates at the routes level? something like:

  - receiver: Team
    matchers:
    - severity =~ "critical|severe"
    html: '{{ template "email.html" . }}'
    continue: true
  - receiver: Team
    matchers:
    - severity = "info"
    html: '{{ template "email_info.html" . }}'
    continue: true

Regards.

dswarbrick commented 6 months ago

Have you considered using a single template, but with conditional logic based on the value of the severity label?