发送事件到Datadog

huangapple go评论89阅读模式
英文:

Send Event to Datadog

问题

很抱歉,我只能为您提供翻译服务,无法为您提供代码方面的帮助。如果您需要帮助创建/跟踪事件,请参考您提供的链接中的结构体和文档,填写相应的变量。如果您在使用过程中遇到问题,建议您查阅相关文档或寻求开发者社区的帮助。祝您顺利完成任务!

英文:

Unfortunately there is not an official Go Datadog API. I am currently using this one instead https://github.com/zorkian/go-datadog-api. Datadog forked the first version of it and recommend using it.

I am able to connect to my Dashboard:

    client := datadog.NewClient("...", "...")

    dash, err := client.GetDashboard(...)
    if err != nil {
      log.Fatalf("fatal: %s\n", err)
    }

But I do not know how to send create/track an event. This is my current approach but if fails badly.

    c := datadog.Client{}
    title := "Abc"
    e := datadog.Event{ Title: &title }
    c.PostEvent(&e)

From my understanding and the missing documentation, I would have to fill out some of these variables in this struct (https://github.com/zorkian/go-datadog-api/blob/master/events.go)

// Event is a single event.
// all fields will be filled out.
type Event struct {
  Id          *int     `json:"id,omitempty"`
  Title       *string  `json:"title,omitempty"`
  Text        *string  `json:"text,omitempty"`
  Time        *int     `json:"date_happened,omitempty"` // UNIX time.
  Priority    *string  `json:"priority,omitempty"`
  AlertType   *string  `json:"alert_type,omitempty"`
  Host        *string  `json:"host,omitempty"`
  Aggregation *string  `json:"aggregation_key,omitempty"`
  SourceType  *string  `json:"source_type_name,omitempty"`
  Tags        []string `json:"tags,omitempty"`
  Url         *string  `json:"url,omitempty"`
  Resource    *string  `json:"resource,omitempty"`
  EventType   *string  `json:"event_type,omitempty"`
}

Can you please help me with that?

答案1

得分: 1

在你发布的代码中:

c := datadog.Client{}

这似乎是创建一个空的客户端对象。

你应该使用datadog.NewClient("...", "...")来创建一个带有你的密钥的客户端,就像你在第一个代码片段中发布的那样:

c := datadog.NewClient("...", "...")

此外,你应该检查返回的错误,因为它会给你更多的提示来解决问题:

_, err := c.PostEvent(&e)
if err != nil {
  log.Fatalf("fatal: %s\n", err)
}
英文:

In the code you posted:

c := datadog.Client{}

This seems to be creating an empty client object.

Shouldn't you be creating a client with your keys using datadog.NewClient("...", "...") as in the first code snippet you posted?

c := datadog.NewClient("...", "...")

Also, you should check the error returned as that will give you more hints to troubleshoot the issue:

_, err := c.PostEvent(&e)
if err != nil {
  log.Fatalf("fatal: %s\n", err)
}

`

huangapple
  • 本文由 发表于 2017年7月21日 15:53:55
  • 转载请务必保留本文链接:https://go.coder-hub.com/45232107.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定