func BuildCommonSMSContent(event *model.Event) string { return fmt.Sprintf( "[P%d][%s][%s][][%s %s %s %s %s%s%s][O%d %s]", event.Priority(), event.Status, event.Endpoint, event.Note(), event.Func(), event.Metric(), utils.SortedTags(event.PushedTags), utils.ReadableFloat(event.LeftValue), event.Operator(), utils.ReadableFloat(event.RightValue()), event.CurrentStep, event.FormattedTime(), ) }
func Callback(event *model.Event, action *api.Action) string { if action.Url == "" { return "callback url is blank" } L := make([]string, 0) if len(event.PushedTags) > 0 { for k, v := range event.PushedTags { L = append(L, fmt.Sprintf("%s:%s", k, v)) } } tags := "" if len(L) > 0 { tags = strings.Join(L, ",") } req := httplib.Get(action.Url).SetTimeout(3*time.Second, 20*time.Second) req.Param("endpoint", event.Endpoint) req.Param("metric", event.Metric()) req.Param("func", event.Func()) req.Param("leftValue", fmt.Sprintf("%.3f", event.LeftValue)) req.Param("operator", event.Operator()) req.Param("rightValue", fmt.Sprintf("%.3f", event.RightValue())) req.Param("note", event.Note()) req.Param("status", event.Status) req.Param("step", fmt.Sprintf("%d", event.CurrentStep)) req.Param("priority", fmt.Sprintf("%d", event.Priority())) req.Param("time", event.FormattedTime()) req.Param("tpl_id", fmt.Sprintf("%d", event.TplId())) req.Param("exp_id", fmt.Sprintf("%d", event.ExpressionId())) req.Param("stra_id", fmt.Sprintf("%d", event.StrategyId())) req.Param("tags", tags) resp, e := req.String() success := "success" if e != nil { success = fmt.Sprintf("fail:%s", e.Error()) } message := fmt.Sprintf("curl %s %s. resp: %s", action.Url, success, resp) return message }
func BuildCommonQQContent(event *model.Event) string { link := g.Link(event) return fmt.Sprintf( "%s\r\nP%d\r\nEndpoint:%s\r\nMetric:%s\r\nTags:%s\r\n%s: %s%s%s\r\nNote:%s\r\nMax:%d, Current:%d\r\nTimestamp:%s\r\n%s\r\n", event.Status, event.Priority(), event.Endpoint, event.Metric(), utils.SortedTags(event.PushedTags), event.Func(), utils.ReadableFloat(event.LeftValue), event.Operator(), utils.ReadableFloat(event.RightValue()), event.Note(), event.MaxStep(), event.CurrentStep, event.FormattedTime(), link, ) }
func BuildCommonMailContent(event *model.Event) string { link := g.Link(event) tdtl := `style="border: 1px solid #ccc; background: #FFF4F4;"` tdtr := `style="border: 1px solid #ccc; border-left: none;"` tdl := `style="border: 1px solid #ccc; border-top: none; background: #FFF4F4;"` tdr := `style="border: 1px solid #ccc; border-top: none; border-left: none;"` return fmt.Sprintf( `<html><head><meta charset="utf-8"></head> <body> <table border="0" cellpadding="5" cellspacing="0"> <tr> <td %s >%s </td> <td %s >%d </td></tr> <tr> <td %s>Endpoint:</td> <td %s>%s </td> </tr> <tr> <td %s>Metric:</td> <td %s>%s </td> </tr> <tr> <td %s>Tags:</td> <td %s>%s </td> </tr> <tr> <td %s>%s</td> <td %s>%s%s%s </td> </tr> <tr> <td %s>Note:</td> <td %s>%s </td> </tr> <tr> <td %s>Max:</td> <td %s>%d </td> </tr> <tr> <td %s>Current:</td> <td %s>%d </td> </tr> <tr> <td %s>Timesramp:</td> <td %s>%s </td> </tr> </table> <br> <a href="%s">%s</a> </body></html>`, tdtl, event.Status, tdtr, event.Priority(), tdl, tdr, event.Endpoint, tdl, tdr, event.Metric(), tdl, tdr, utils.SortedTags(event.PushedTags), tdl, event.Func(), tdr, utils.ReadableFloat(event.LeftValue), event.Operator(), utils.ReadableFloat(event.RightValue()), tdl, tdr, event.Note(), tdl, tdr, event.MaxStep(), tdl, tdr, event.CurrentStep, tdl, tdr, event.FormattedTime(), link, link, ) }