nsq.go 739 B

12345678910111213141516171819202122232425262728293031323334
  1. package entity
  2. import (
  3. "encoding/json"
  4. "log"
  5. "bp.jydev.jianyu360.cn/BP/jynsq/gonsq"
  6. )
  7. //异常告警
  8. type AlertNsq struct {
  9. Addr string
  10. Toppic string
  11. Id string //用于标识这个告警分组,及告警方式、告警人
  12. }
  13. var AlertRemind AlertNsq
  14. //Alert 异常告警通知
  15. func Alert(msg string) {
  16. //自定义需要的字段
  17. errMap := map[string]interface{}{
  18. "异常": msg,
  19. }
  20. //nsq
  21. m := &gonsq.Msg{AlertRemind.Id, "权益中台有新的告警消息处理", "权益中台告警请查看", errMap}
  22. bs, _ := json.Marshal(m)
  23. p, _ := gonsq.NewProducer(AlertRemind.Addr, AlertRemind.Toppic, false) //测试环境地址
  24. err := p.Publish(bs)
  25. defer p.P.Stop()
  26. if err != nil {
  27. log.Println("nsq连接失败")
  28. }
  29. }