0

Bosun 无法向使用以下日志配置的邮件发送警报通知。

错误:notify.go:111:未能将警报 high.cpu{host= } 发送到 [* @gmail.com] EOF

这是我的 bosun.conf

tsdbHost = localhost:4242
stateFile = /data/bosun.state
ledisBindAddr = 0.0.0.0:9565
smtpHost = smtp.gmail.com:465
emailFrom = bosun-alert@noreply.com

notification email {
     email = ***@gmail.com
     next = email
     timeout = 5s
     print = true
}

template test {
        subject = {{.Last.Status}}: {{.Alert.Name}} on {{.Group.host}}
        body = `<p>Alert: {{.Alert.Name}} triggered on {{.Group.host}}
        <hr>
        <p><strong>Computation</strong>
        <table> 
                {{range .Computations}}
                        <tr><td><a href="{{$.Expr .Text}}">{{.Text}}</a></td><td>{{.Value}}</td></tr>
                {{end}}
        </table>
        <hr>
        {{ .Graph .Alert.Vars.metric }}
        <hr>
        <p><strong>Relevant Tags</strong>
        <table> 
                {{range $k, $v := .Group}}
                        <tr><td>{{$k}}</td><td>{{$v}}</td></tr>
                {{end}}
        </table>`
}

alert high.cpu {
        template = test
        $metric = q("sum:rate{counter,,1}:os.cpu{host=*}", "1h", "")
        $avgcpu = avg($metric)
        crit = $avgcpu > 3
        warn = $avgcpu > 2
        critNotification = email
        warnNotification = email
}

请帮我弄清楚我做错了什么。

4

1 回答 1

1

您的 bosun 配置中是否还有 smtpUsername 和 smtpPassword?没有这些,您可能无法使用 Bosun 电子邮件通知。除非电子邮件与您的 gmail 地址匹配或已在您的 gmail 帐户中验证,否则该电子邮件也可能会被拒绝。我相信我们为 smtp.gmail.com 使用端口 587 而不是 465。

例子:

smtpHost = smtp.gmail.com:587
emailFrom = youraccount@gmail.com 
smtpUsername= youraccount@gmail.com
smtpPassword= yourpassword
于 2016-07-01T22:05:57.053 回答