Bosun通过json post body发送警报特定数据

时间:2015-08-18 13:55:20

标签: bosun

使用Bosun时,您可以使用指定json正文的警报​​通知发送HTTP POST请求,如下所示:

post = myurl
body = {"foo": "bar"}

我有一个外部应用程序,它会监听myurl并根据帖子正文的上下文发送和发送电子邮件。有没有办法对帖子正文进行一般模板化以表示触发的警报详细信息。

理想情况是这样的(语法仅用于示例目的):

 post = myurl
 body = {"body": "Alert.name, Alert.host, ..."}

1 个答案:

答案 0 :(得分:2)

您想要的是在post的定义中使用notification 操作。您还可以使用通知中的body指令覆盖默认的帖子正文。然后,您可以使用json模板函数和contentType将其设置为JSON。

来自notification documentation的两个例子。特别是,我认为第二个例子就是你所追求的。

# post to a slack.com chatroom 
notification slack{
    post = https://company.slack.com/services/hooks/incoming-webhook?token=TOKEN
    body = payload={"username": "bosun", "text": {{.|json}}, "icon_url": "http://stackexchange.github.io/bosun/public/bosun-logo-mark.svg"} 
}

#post json
notification json{
    post = https://someurl.com/submit
    body = {"text": {{.|json}}, apiKey="2847abc23"}
    contentType = application/json
}