|
@@ -0,0 +1,34 @@
|
|
|
|
+package entity
|
|
|
|
+
|
|
|
|
+import (
|
|
|
|
+ "encoding/json"
|
|
|
|
+ "log"
|
|
|
|
+
|
|
|
|
+ "bp.jydev.jianyu360.cn/BP/jynsq/gonsq"
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
+//异常告警
|
|
|
|
+type AlertNsq struct {
|
|
|
|
+ Addr string
|
|
|
|
+ Toppic string
|
|
|
|
+ Id string //用于标识这个告警分组,及告警方式、告警人
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+var AlertRemind AlertNsq
|
|
|
|
+
|
|
|
|
+//Alert 异常告警通知
|
|
|
|
+func Alert(msg string) {
|
|
|
|
+ //自定义需要的字段
|
|
|
|
+ errMap := map[string]interface{}{
|
|
|
|
+ "异常": msg,
|
|
|
|
+ }
|
|
|
|
+ //nsq
|
|
|
|
+ m := &gonsq.Msg{AlertRemind.Id, "权益中台有新的告警消息处理", "权益中台告警请查看", errMap}
|
|
|
|
+ bs, _ := json.Marshal(m)
|
|
|
|
+ p, _ := gonsq.NewProducer(AlertRemind.Addr, AlertRemind.Toppic, false) //测试环境地址
|
|
|
|
+ err := p.Publish(bs)
|
|
|
|
+ defer p.P.Stop()
|
|
|
|
+ if err != nil {
|
|
|
|
+ log.Println("nsq连接失败")
|
|
|
|
+ }
|
|
|
|
+}
|