diff --git a/etc/script/notify.py b/etc/script/notify.py index 50a81985..e06c5fe8 100755 --- a/etc/script/notify.py +++ b/etc/script/notify.py @@ -86,7 +86,13 @@ class Sender(object): @classmethod def send_dingtalk(cls, payload): - users = payload.get('event').get("notify_users_obj") + event = payload.get('event') + users = event.get("notify_users_obj") + + rule_name = event.get("rule_name") + event_state = "Triggered" + if event.get("is_recovered"): + event_state = "Recovered" tokens = {} phones = {} @@ -107,8 +113,8 @@ class Sender(object): body = { "msgtype": "markdown", "markdown": { - "title": "n9e notice", - "text": payload.get('tpls').get("dingtalk.tpl", "dingtalk.tpl not found") + "title": "{} - {}".format(event_state, rule_name), + "text": payload.get('tpls').get("dingtalk.tpl", "dingtalk.tpl not found") + ' '.join(["@"+i for i in phones.keys()]) }, "at": { "atMobiles": phones.keys(), diff --git a/etc/template/dingtalk.tpl b/etc/template/dingtalk.tpl index a751c762..2e3180d1 100644 --- a/etc/template/dingtalk.tpl +++ b/etc/template/dingtalk.tpl @@ -1,7 +1,8 @@ -- **级别状态**: {{if .IsRecovered}}S{{.Severity}} Recovered{{else}}S{{.Severity}} Triggered{{end}} -- **规则标题**: {{.RuleName}}{{if .RuleNote}} -- **规则备注**: {{.RuleNote}}{{end}} -- **监控指标**: {{.TagsJSON}} -- {{if .IsRecovered}}**恢复时间**:{{timeformat .LastEvalTime}}{{else}}**触发时间**: {{timeformat .TriggerTime}} -**触发时值**: {{.TriggerValue}}{{end}} -- **发送时间**: {{timestamp}} \ No newline at end of file +### {{if .IsRecovered}}S{{.Severity}} - Recovered - {{.RuleName}}{{else}}S{{.Severity}} - Triggered - {{.RuleName}}{{end}} + +> - **规则标题**: {{.RuleName}}{{if .RuleNote}} +> - **规则备注**: {{.RuleNote}}{{end}} +> - **监控指标**: {{.TagsJSON}} +> - {{if .IsRecovered}}**恢复时间**:{{timeformat .LastEvalTime}}{{else}}**触发时间**: {{timeformat .TriggerTime}} +> - **触发时值**: {{.TriggerValue}}{{end}} +> - **发送时间**: {{timestamp}} \ No newline at end of file