Looking for bosun Answers? Try Ask4KnowledgeBase
Looking for bosun Keywords? Try Ask4Keywords

Bosunボサンを始める


備考

Bosunは、スタックオーバーフローによって作成されたオープンソースのMITライセンス、監視および警告システムです。アラートを評価し、詳細な通知を作成するための、表現力豊かなドメイン固有の言語を備えています。また、アラートを履歴データと照らし合わせてテストして、より迅速な開発環境を実現することもできます。詳細については、 http://bosun.org/を参照してください。

Bosunは、設定ファイルを使用して、すべてのシステム設定、マクロ、ルックアップ、通知、テンプレート、警告定義を保存します。サーバーの起動時に使用する設定ファイルを指定します(たとえば、 /opt/bosun/bosun -c /opt/bosun/config/prod.conf 。 bosunを再起動するまで、ファイルの変更は有効になりません。バージョン管理にファイルを保存することを強くお勧めします。

バージョン

バージョン発売日
0.3.0 2015-06-13
0.4.0 2015-09-18
0.5.0 2016-03-15

ドッカークイックスタート

クイックスタートガイドには、Dockerを使用してBosunインスタンスを立ち上げるための情報が含まれています。

$ docker run -d -p 4242:4242 -p 80:8070 stackexchange/bosun
 

これにより、 http:// docker-server-ipのブラウザを開いてアクセスできるBosunの新しいインスタンスが作成されます 。ドッキング・イメージには、時系列データを格納するHBase / OpenTSDB、Bosunサーバー、bosunコンテナ内からメトリックを収集するScollectorが含まれます。その後、Bosunサーバーで追加のScollectorインスタンスを指定し、Grafanaを使用してOpenTSDBまたはBosunメトリックのダッシュボードを作成することができます。

Stackexchange / Bosunイメージは、テスト用にのみ設計されています。設定ファイルに警告が定義されていないので、ドッカーイメージが削除されたときにデータが削除されますが、bosunの動作を確認するのに非常に役立ちます。 Bosunの本番インスタンスの作成の詳細については、 http: //bosun.org/resourcesを参照してください。

サンプルアラート

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 電子メールをCritical: sample.alert cpu idle at 25% on hostname に送信します。この例は "ホストスコープ"アラートですが、Bosunはクラスタ、データセンター、またはグローバルスコープのアラートもサポートしています(詳細はファンダメンタルズビデオシリーズを参照してください)。

設定ファイルの例

開発環境で使用されるBosun設定ファイルの例を次に示します。

tsdbHost = localhost:4242
httpListen = :8070
smtpHost = localhost:25
emailFrom = bosun@example.org
timeAndDate = 202,75,179,136
ledisDir = ../ledis_data
checkFrequency = 5m

notification example.notification {
        email = alerts@example.org
        print = true
}
 

この場合、設定ファイルはBosunがポート4242のローカルOpenTSDBインスタンスに接続し、ポート8070(ホストにバインドされているすべてのIPアドレス)の要求をリッスンし、電子メールにlocalhost SMTPシステムを使用し、 追加のタイムゾーンを表示し、システム状態の場合は外部Redisの代わりにLedisで構築され、デフォルトのアラートは5分間隔です。

configには、アラートに割り当てることができるexample.notificationも定義されています。通常、これは設定ファイルの最後に含まれます(サンプルのアラートの例を参照)。