Thank you so much for the help. I will try to upgrade and let you know.
@georgerobinson One more thing, One last one please help regarding the outlook mail subject, we are not getting colored emojis while receiving an emails form Grafana.
Can you please help me how to get colored emoji’s?
Hi! Are coloured emojis supported in Microsoft Outlook?
OK, can you confirm that emojis work in Microsoft Outlook (for example, send yourself an email with an emoji in it)?
OK, that could be a limitation of Microsoft Outlook then.
using red heart
Hi! I would like to share the 9.4 docs for templating notifications and would love to get some feedback from the community on what is good, what could be improved, and what is missing.
Thank you!
George, Alerting squad
@georgerobinson thank you for pointing out the documentation about customizing notifications.
Can I ask you something though, in my case the content I have been getting on Value parameter was full before updating grafana to the latest? E.g
**Firing**
Value: [ var='B0' metric='Value' labels={server=my_webapp_url} value=4 ]
Labels:
But on the latest Grafana it is not showing the details
Value: B=3
I don’t wanna touch anything on grafana notification template, I just wanna have the same content as before. BTW am using the http_response input plugin on telegraf.
Hi! Grafana 9.3 changed the default template to print just the values of each expression instead of the value string, as we received a lot of feedback about it not being useful. We haven’t removed the value string from Grafana though, so feel free to use it in your own template if you prefer it.
@georgerobinson ow so that was the reason, thanks for letting me know. I have never used a template in grafana before, can you please tell me how can I achieve that, customization of my own template?
Thanks
You’ll want to check out the documentation Customize notifications | Grafana documentation. You can then copy the default template from Grafana v9.2.8.
For example, something like this:
{{ define "custom.subject" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ if gt (.Alerts.Resolved | len) 0 }}, RESOLVED:{{ .Alerts.Resolved | len }}{{ end }}{{ end }}] {{ .GroupLabels.SortedPairs.Values | join " " }} {{ if gt (len .CommonLabels) (len .GroupLabels) }}({{ with .CommonLabels.Remove .GroupLabels.Names }}{{ .Values | join " " }}{{ end }}){{ end }}{{ end }}
{{ define "custom.alert_message" }}{{ range . }}
Value: {{ or .ValueString "[no value]" }}
Labels:
{{ range .Labels.SortedPairs }} - {{ .Name }} = {{ .Value }}
{{ end }}Annotations:
{{ range .Annotations.SortedPairs }} - {{ .Name }} = {{ .Value }}
{{ end }}{{ if gt (len .GeneratorURL) 0 }}Source: {{ .GeneratorURL }}
{{ end }}{{ if gt (len .SilenceURL) 0 }}Silence: {{ .SilenceURL }}
{{ end }}{{ if gt (len .DashboardURL) 0 }}Dashboard: {{ .DashboardURL }}
{{ end }}{{ if gt (len .PanelURL) 0 }}Panel: {{ .PanelURL }}
{{ end }}{{ end }}{{ end }}
{{ define "custom.title" }}{{ template "custom.subject" . }}{{ end }}
{{ define "custom.message" }}{{ if gt (len .Alerts.Firing) 0 }}**Firing**
{{ template "custom.alert_message" .Alerts.Firing }}{{ if gt (len .Alerts.Resolved) 0 }}
{{ end }}{{ end }}{{ if gt (len .Alerts.Resolved) 0 }}**Resolved**
{{ template "custom.alert_message" .Alerts.Resolved }}{{ end }}{{ end }}
Hello @georgerobinson I tried to copy the default template from Grafana v9.2.8 but still there is no output from Value prop.
please can you please tell me what templating code I should set in Value:
Hi! Can I see the template you have copied, and also how you are using the template from your contact point?
@georgerobinson thank you for replying
Template I have copied:
` {{ define "__subject" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ if gt (.Alerts.Resolved | len) 0 }}, RESOLVED:{{ .Alerts.Resolved | len }}{{ end }}{{ end }}] {{ .GroupLabels.SortedPairs.Values | join " " }} {{ if gt (len .CommonLabels) (len .GroupLabels) }}({{ with .CommonLabels.Remove .GroupLabels.Names }}{{ .Values | join " " }}{{ end }}){{ end }}{{ end }}
{{ define "__text_alert_list" }}{{ range . }}
Value: {{ or .ValueString "[no value]" }}
Labels:
{{ range .Labels.SortedPairs }} - {{ .Name }} = {{ .Value }}
{{ end }}Annotations:
{{ range .Annotations.SortedPairs }} - {{ .Name }} = {{ .Value }}
{{ end }}{{ if gt (len .GeneratorURL) 0 }}Source: {{ .GeneratorURL }}
{{ end }}{{ if gt (len .SilenceURL) 0 }}Silence: {{ .SilenceURL }}
{{ end }}{{ if gt (len .DashboardURL) 0 }}Dashboard: {{ .DashboardURL }}
{{ end }}{{ if gt (len .PanelURL) 0 }}Panel: {{ .PanelURL }}
{{ end }}{{ end }}{{ end }}
{{ define "default.title" }}{{ template "__subject" . }}{{ end }}
{{ define "default.message" }}{{ if gt (len .Alerts.Firing) 0 }}**Firing**
{{ template "__text_alert_list" .Alerts.Firing }}{{ if gt (len .Alerts.Resolved) 0 }}
{{ end }}{{ end }}{{ if gt (len .Alerts.Resolved) 0 }}**Resolved**
{{ template "__text_alert_list" .Alerts.Resolved }}{{ end }}{{ end }}
{{ define "__teams_text_alert_list" }}{{ range . }}
Value: {{ or .ValueString "[no value]" }}
Labels:
{{ range .Labels.SortedPairs }} - {{ .Name }} = {{ .Value }}
{{ end }}
Annotations:
{{ range .Annotations.SortedPairs }} - {{ .Name }} = {{ .Value }}
{{ end }}
{{ if gt (len .GeneratorURL) 0 }}Source: [{{ .GeneratorURL }}]({{ .GeneratorURL }})
{{ end }}{{ if gt (len .SilenceURL) 0 }}Silence: [{{ .SilenceURL }}]({{ .SilenceURL }})
{{ end }}{{ if gt (len .DashboardURL) 0 }}Dashboard: [{{ .DashboardURL }}]({{ .DashboardURL }})
{{ end }}{{ if gt (len .PanelURL) 0 }}Panel: [{{ .PanelURL }}]({{ .PanelURL }})
{{ end }}
{{ end }}{{ end }}
{{ define "teams.default.message" }}{{ if gt (len .Alerts.Firing) 0 }}**Firing**
{{ template "__teams_text_alert_list" .Alerts.Firing }}{{ if gt (len .Alerts.Resolved) 0 }}
{{ end }}{{ end }}{{ if gt (len .Alerts.Resolved) 0 }}**Resolved**
{{ template "__teams_text_alert_list" .Alerts.Resolved }}{{ end }}{{ end }}`
I just copied the above template into Message Template section in contact points
Hi! You need to change the names of each template as per my example, otherwise it will conflict with the default template. You can then use this template from your contact point. For example: {{ template "custom.message" . }}
name of each template? does the name of template you are saying implies “ACSO_Message_Template” in my case from the screenshot? or is it a key found in the template code?
How do I use the template defined in the Message template to be used in contact points which in my case is Telegram?
I am really sorry, it’s confusing me the way created templates would be used in contact points.