Golang告警SDK

该SDK为哮天犬监控告警平台告警接口的Golang版本的实现,增加了非常友好的方式使用,开箱即用。感谢 @codinghuang 老师贡献SDK源码。

代码仓库

https://github.com/tal-tech/alarm-dog-go-sdk
最新文档请参考代码仓库的 README.md 文件说明

如何安装此SDK

  1. go get github.com/tal-tech/alarm-dog-go-sdk

如果显示要输入密码,并且一直输入都没有效,可以尝试先clone一下,然后再次执行go get命令。如下:

  1. git clone https://github.com/tal-tech/alarm-dog-go-sdk.git
  2. go get github.com/tal-tech/alarm-dog-go-sdk

如果拉取失败,请尝试加上-u参数,命令如下:

  1. go get -u github.com/tal-tech/alarm-dog-go-sdk

使用例子

基本例子

  1. package main
  2. import "github.com/tal-tech/alarm-dog-go-sdk/alarm"
  3. func main() {
  4. a := alarm.New()
  5. a.SetTaskID(637).SetToken("349f44f37cdde77b2c393c7761e667f382387b0d")
  6. var content = make(map[string]string)
  7. content["errno"] = "10086"
  8. content["error"] = "您的余额已不足"
  9. reportBody := alarm.ReportBody{
  10. Ctn: content,
  11. }
  12. response := a.Report(reportBody)
  13. println(response)
  14. }

开发指南

想要高效的进行Channel添加和修改,我们可以使用receiver/channel目录下的channel.template模板来生成代码。使用例子:

安装工具

  1. go get -u github.com/cheekybits/genny

代码生成

  1. genny -in=channel.template -out=qq.go gen "ChannelType=QQ"

此时,会生成一个名字叫做QQChannel
同时,我们可以生成对应的测试文件:

  1. genny -in=channel_test.template -out=qq_test.go gen "ChannelType=QQ"

执行测试

  1. go test -timeout 30s ./... -count=1

手机告警测试

请确保在哮天犬后台配置了手机号。详情参考