From 7078d5d52451c0b1f48b8f2252b6c1ef6a73bd12 Mon Sep 17 00:00:00 2001 From: Daniel Schmitz Date: Wed, 19 Apr 2017 15:53:23 +0800 Subject: [PATCH 1/2] Added metrics/matches to telegram notifications; Added some HTML to beautify --- pkg/services/alerting/notifiers/telegram.go | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/pkg/services/alerting/notifiers/telegram.go b/pkg/services/alerting/notifiers/telegram.go index f70d299bc6c..d2ad03d2bd0 100644 --- a/pkg/services/alerting/notifiers/telegram.go +++ b/pkg/services/alerting/notifiers/telegram.go @@ -87,7 +87,7 @@ func (this *TelegramNotifier) Notify(evalContext *alerting.EvalContext) error { bodyJSON.Set("chat_id", this.ChatID) bodyJSON.Set("parse_mode", "html") - message := fmt.Sprintf("%s\nState: %s\nMessage: %s\n", evalContext.GetNotificationTitle(), evalContext.Rule.Name, evalContext.Rule.Message) + message := fmt.Sprintf("%s\nState: %s\nMessage: %s\n", evalContext.GetNotificationTitle(), evalContext.Rule.Name, evalContext.Rule.Message) ruleUrl, err := evalContext.GetRuleUrl() if err == nil { @@ -96,6 +96,19 @@ func (this *TelegramNotifier) Notify(evalContext *alerting.EvalContext) error { if evalContext.ImagePublicUrl != "" { message = message + fmt.Sprintf("Image: %s\n", evalContext.ImagePublicUrl) } + + metrics := "" + fieldLimitCount := 4 + for index, evt := range evalContext.EvalMatches { + metrics += fmt.Sprintf("\n%s: %s", evt.Metric, evt.Value) + if index > fieldLimitCount { + break + } + } + if metrics != "" { + message = message + fmt.Sprintf("\nMetrics:%s", metrics); + } + bodyJSON.Set("text", message) url := fmt.Sprintf(telegeramApiUrl, this.BotToken, "sendMessage") From d123b951e9bb57e930fef43d468f8f81cbfe98b9 Mon Sep 17 00:00:00 2001 From: Daniel Schmitz Date: Wed, 19 Apr 2017 17:02:52 +0800 Subject: [PATCH 2/2] Fixed parsing error --- pkg/services/alerting/notifiers/telegram.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/services/alerting/notifiers/telegram.go b/pkg/services/alerting/notifiers/telegram.go index d2ad03d2bd0..71169c15599 100644 --- a/pkg/services/alerting/notifiers/telegram.go +++ b/pkg/services/alerting/notifiers/telegram.go @@ -106,7 +106,7 @@ func (this *TelegramNotifier) Notify(evalContext *alerting.EvalContext) error { } } if metrics != "" { - message = message + fmt.Sprintf("\nMetrics:%s", metrics); + message = message + fmt.Sprintf("\nMetrics:%s", metrics) } bodyJSON.Set("text", message)