アドベントカレンダー28日目:SREを読んでみた「時系列データからの実践的なアラート」編③

  • 2021.01.03
126
NO IMAGE

Borgmanは、Borgのモニタリングを行うシステムです。
Borgmanでは、データフォーマットを統一していました。これにより、システム間のオーバーヘッドをなくし、大量のデータを捌くことができるようになりました。
今日からデータの扱い方について、学んでいきます。

ルールの評価

BorgmanにはBorgmanルールと呼ばれるプログラムコードがあります。それは、単一の時系列データからの履歴に対してクエリを行ったり、多くの時系列データからさまざまなラベルに対して一度にクエリを実行したりできます。

分散環境におけるルールの評価の要は集計です。集計を行うということは、ジョブを全体として扱うために、そのジョブが持つタスク群の時系列データを収集し、その合計を取るということです。
それらの合計から全体のレートを計算することができます。

アラート

アラートのルールを評価する際に、Borgmanではその結果を真か偽で返します。そして、真の場合、アラートが発行されます。アラートは、真偽の状態が頻繁に切り替わる状態になることがあります。
そのため、ルールにはアラートを発行するまで真であり続けなければならない期間が設定されています。そして、通常ルールの評価を2回行うことで誤りのアラートが発行されることを防ぎます。

モニタリングのトポロジーのシャーディング

Borgmanは、時系列データを他のBorgmanからインポートすることができます。
一つのBorgmanだけで全社のサービスのデータを収集することもできますが、これはすぐにボトルネックとなります。
なので、ストリーミングプロトコルを用いて、データ転送を行うグローバルなBorgmanがトップレベルに2つ以上置かれます。
また、さらに複雑な環境では、スクレイピングを行うだけのBorgmanやルール評価、ダッシュボードの役割のレイヤーに分けていくこともできます。

参考文献

  1. Betsy Seyerほか SRE サイトリライアビリティエンジニアリング オライリー 116-120