示例警報

Bosun 警報使用自定義 DSL 在配置檔案中定義 。它們使用函式來評估時間序列資料,並在 warn 或 crit 表示式非零時生成警報。警報使用模板在通知中包含其他資訊,通常是電子郵件和/或 HTTP POST 請求。

template sample.alert {
    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 }}`

    subject = {{.Last.Status}}: {{.Alert.Name}} cpu idle at {{.Alert.Vars.q | .E}}% on {{.Group.host}}
}

notification sample.notification {
    email = alerts@example.com
}

alert sample.alert {
    template = sample.template
    $q = avg(q("sum:rate:linux.cpu{host=*,type=idle}", "1m"))
    crit = $q < 40
    notification = sample.notification
}

對於任何閒置 CPU 使用率在過去 1 分鐘內平均低於 40%的主機,警報將傳送一封主題為 Critical: sample.alert cpu idle at 25% on hostname 的電子郵件。此示例是主機範圍警報,但 Bosun 還支援群集,資料中心或全域性範圍警報( 有關詳細資訊,請參閱基礎視訊系列 )。