Skip to content

Commit

Permalink
feat: alarm push content log link use short link clickvisual#982
Browse files Browse the repository at this point in the history
  • Loading branch information
kl7sn committed Apr 27, 2023
1 parent fee7800 commit b2dec48
Showing 1 changed file with 14 additions and 15 deletions.
29 changes: 14 additions & 15 deletions api/internal/service/alarm/pusher/factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"time"

"github.com/gotomicro/ego/core/econf"
"github.com/gotomicro/ego/core/elog"

"github.com/clickvisual/clickvisual/api/internal/invoker"
"github.com/clickvisual/clickvisual/api/internal/service/shorturl"
Expand Down Expand Up @@ -50,29 +51,28 @@ func BuildAlarmMsg(notification db.Notification, table *db.BaseTable, alarm *db.
var buffer bytes.Buffer
// base info
if notification.GetStatus() == db.AlarmStatusNormal {
buffer.WriteString("<font color=#008000>您的告警已恢复</font>\n")
buffer.WriteString("<font color=#008000>您的告警已恢复</font> ")
} else {
buffer.WriteString("<font color=#FF0000>您有待处理的告警</font>\n")
buffer.WriteString("<font color=#FF0000>您有待处理的告警</font> ")
}
buffer.WriteString(fmt.Sprintf("【告警名称】: %s\n", alarm.Name))
buffer.WriteString(fmt.Sprintf("【告警名称】: %s ", alarm.Name))
if alarm.Desc != "" {
buffer.WriteString(fmt.Sprintf("【告警描述】: %s\n", alarm.Desc))
buffer.WriteString(fmt.Sprintf("【告警描述】: %s ", alarm.Desc))
}
users, phones := dutyOffices(alarm)
instance, _ := db.InstanceInfo(invoker.Db, table.Database.Iid)
statusText := "告警中"
for _, alert := range notification.Alerts {
end := alert.StartsAt.Add(time.Minute).Unix()
start := alert.StartsAt.Add(-alarm.GetInterval() - time.Minute).Unix()
annotations := alert.Annotations
buffer.WriteString(fmt.Sprintf("【触发时间】: %s\n", alert.StartsAt.Add(time.Hour*8).Format("2006-01-02 15:04:05")))
buffer.WriteString(fmt.Sprintf("【相关实例: %s %s\n", instance.Name, instance.Desc))
buffer.WriteString(fmt.Sprintf("【日志库表】: %s %s\n", table.Name, table.Desc))
buffer.WriteString(fmt.Sprintf("【触发时间】: %s ", alert.StartsAt.Add(time.Hour*8).Format("2006-01-02 15:04:05")))
buffer.WriteString(fmt.Sprintf("【相关实例】: %s %s ", instance.Name, instance.Desc))
buffer.WriteString(fmt.Sprintf("【日志库表】: %s %s ", table.Name, table.Desc))
if notification.GetStatus() == db.AlarmStatusNormal {
statusText = "已恢复"
buffer.WriteString("【告警状态】: <font color=#008000>已恢复</font>\n")
buffer.WriteString("【告警状态】: <font color=#008000>已恢复</font> ")
} else {
buffer.WriteString("【告警状态】: <font color=red>告警中</font>\n")
buffer.WriteString("【告警状态】: <font color=red>告警中</font> ")
}
dutyOfficesStr := ""
for _, user := range users {
Expand All @@ -84,17 +84,16 @@ func BuildAlarmMsg(notification db.Notification, table *db.BaseTable, alarm *db.
}
if dutyOfficesStr == "" {
user, _ := db.UserInfo(alarm.Uid)
buffer.WriteString(fmt.Sprintf("【告警创建】: %s \n", user.Nickname))
buffer.WriteString(fmt.Sprintf("【告警创建】: %s ", user.Nickname))
} else {
buffer.WriteString(fmt.Sprintf("【告警责任】: %s \n", dutyOfficesStr))
buffer.WriteString(fmt.Sprintf("【告警责任】: %s ", dutyOfficesStr))
}

buffer.WriteString(fmt.Sprintf("%s\n\n", annotations["description"]))
jumpURL := fmt.Sprintf("%s/share?mode=0&tab=custom&tid=%d&kw=%s&start=%d&end=%d\n\n",
jumpURL := fmt.Sprintf("%s/share?mode=0&tab=custom&tid=%d&kw=%s&start=%d&end=%d",
strings.TrimRight(econf.GetString("app.rootURL"), "/"), filter.Tid, url.QueryEscape(filter.When), start, end,
)
shortURL, err := shorturl.GenShortURL(jumpURL)
if err != nil {
elog.Error("shorturl.GenShortURL", elog.FieldErr(err), elog.String("jumpURL", jumpURL))
buffer.WriteString(fmt.Sprintf("【链接跳转】: %s", jumpURL))
} else {
buffer.WriteString(fmt.Sprintf("【链接跳转】: %s", shortURL))
Expand Down

0 comments on commit b2dec48

Please sign in to comment.