diff --git a/docker/initsql/n9e.sql b/docker/initsql/n9e.sql
index e2cf8806121517a6517229cd587fd92589b90520..44285c57658dd053b0c4cb232707cebb3899f409 100644
--- a/docker/initsql/n9e.sql
+++ b/docker/initsql/n9e.sql
@@ -318,6 +318,7 @@ CREATE TABLE `alert_his_event` (
`target_note` varchar(191) not null default '' comment 'target note',
`trigger_time` bigint not null,
`trigger_value` varchar(255) not null,
+ `recover_time` bigint not null default 0,
`tags` varchar(1024) not null default '' comment 'merge data_tags rule_tags, split by ,,',
PRIMARY KEY (`id`),
KEY (`hash`),
diff --git a/etc/template/dingtalk.tpl b/etc/template/dingtalk.tpl
index 95019ebac37cd0ae29eee8b50c83f8a43cb31873..59ece247710cf1f59685327c9b63fe1962d1d12e 100644
--- a/etc/template/dingtalk.tpl
+++ b/etc/template/dingtalk.tpl
@@ -2,5 +2,5 @@
规则名称: {{.RuleName}}{{if .RuleNote}}
规则备注: {{.RuleNote}}{{end}}
监控指标: {{.TagsJSON}}
-触发时间: {{timeformat .TriggerTime}}
-触发时值: {{.TriggerValue}}
\ No newline at end of file
+{{if .IsRecovered}}恢复时间:{{timeformat .LastEvalTime}}{{else}}触发时间: {{timeformat .TriggerTime}}
+触发时值: {{.TriggerValue}}{{end}}
\ No newline at end of file
diff --git a/etc/template/feishu.tpl b/etc/template/feishu.tpl
index 95019ebac37cd0ae29eee8b50c83f8a43cb31873..59ece247710cf1f59685327c9b63fe1962d1d12e 100644
--- a/etc/template/feishu.tpl
+++ b/etc/template/feishu.tpl
@@ -2,5 +2,5 @@
规则名称: {{.RuleName}}{{if .RuleNote}}
规则备注: {{.RuleNote}}{{end}}
监控指标: {{.TagsJSON}}
-触发时间: {{timeformat .TriggerTime}}
-触发时值: {{.TriggerValue}}
\ No newline at end of file
+{{if .IsRecovered}}恢复时间:{{timeformat .LastEvalTime}}{{else}}触发时间: {{timeformat .TriggerTime}}
+触发时值: {{.TriggerValue}}{{end}}
\ No newline at end of file
diff --git a/etc/template/mailbody.tpl b/etc/template/mailbody.tpl
index a45e35b64a10850d23aca855f55f14696f54c918..fa5e2d64f27fa101d7731e1d3f3d137816f15e24 100644
--- a/etc/template/mailbody.tpl
+++ b/etc/template/mailbody.tpl
@@ -162,6 +162,13 @@
监控指标: |
{{.TagsJSON}} |
+
+ {{if .IsRecovered}}
+
+ 恢复时间: |
+ {{timeformat .LastEvalTime}} |
+
+ {{else}}
触发时值: |
{{.TriggerValue}} |
@@ -172,6 +179,8 @@
{{timeformat .TriggerTime}}
+ {{end}}
+
PromQL: |
diff --git a/etc/template/wecom.tpl b/etc/template/wecom.tpl
index 1513cbd5b90ddaf3ca7d8198a725e805005d2bbe..d1c7410a243de2eb20a88de0c733faa45bede5a8 100644
--- a/etc/template/wecom.tpl
+++ b/etc/template/wecom.tpl
@@ -2,5 +2,5 @@
**规则标题**: {{.RuleName}}{{if .RuleNote}}
**规则备注**: {{.RuleNote}}{{end}}
**监控指标**: {{.TagsJSON}}
-**触发时间**: {{timeformat .TriggerTime}}
-**触发时值**: {{.TriggerValue}}
\ No newline at end of file
+{{if .IsRecovered}}**恢复时间**:{{timeformat .LastEvalTime}}{{else}}**触发时间**: {{timeformat .TriggerTime}}
+**触发时值**: {{.TriggerValue}}{{end}}
\ No newline at end of file
diff --git a/src/models/alert_cur_event.go b/src/models/alert_cur_event.go
index a43b64d10168d27d78c46529f8ec3430930a419d..a278bd90d1eecc034932acfca7f7ee7a05b8d4f0 100644
--- a/src/models/alert_cur_event.go
+++ b/src/models/alert_cur_event.go
@@ -37,7 +37,7 @@ type AlertCurEvent struct {
TagsMap map[string]string `json:"-" gorm:"-"` // for internal usage
IsRecovered bool `json:"is_recovered" gorm:"-"` // for notify.py
NotifyUsersObj []*User `json:"notify_users_obj" gorm:"-"` // for notify.py
- LastEvalTime int64 `json:"last_eval_time" gorm:"-"` // for internal usage
+ LastEvalTime int64 `json:"last_eval_time" gorm:"-"` // for notify.py
}
func (e *AlertCurEvent) TableName() string {
@@ -80,6 +80,7 @@ func (e *AlertCurEvent) ToHis() *AlertHisEvent {
TriggerTime: e.TriggerTime,
TriggerValue: e.TriggerValue,
Tags: e.Tags,
+ RecoverTime: e.LastEvalTime,
}
}
diff --git a/src/models/alert_his_event.go b/src/models/alert_his_event.go
index 39eb89a248dfe4055cdb84cf54fd176ea495e670..507c1a5ca3d78c9aea63b91c6c57ef52230b2d07 100644
--- a/src/models/alert_his_event.go
+++ b/src/models/alert_his_event.go
@@ -31,6 +31,7 @@ type AlertHisEvent struct {
TargetNote string `json:"target_note"`
TriggerTime int64 `json:"trigger_time"`
TriggerValue string `json:"trigger_value"`
+ RecoverTime int64 `json:"recover_time"`
Tags string `json:"-"`
TagsJSON []string `json:"tags" gorm:"-"`
}
|