メトリクス、ダッシュボード、SLI/SLO
生の監視データを意味のあるメトリクスとダッシュボードに変換し、ユーザーが実際に重視する信頼性を測定するためにService Level IndicatorとObjectiveを定義します。
「メトリクス、ダッシュボード、SLI/SLO」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
データから洞察へ
メトリクスの収集は最初の一歩にすぎません。信頼性の高いシステムを運用するには、数値をダッシュボードと、実際のユーザー体験を反映したサービスレベル目標に変換する必要があります。
4つのゴールデンシグナル
Google SRE では、あらゆる Service について4つのシグナルを監視することを推奨しています。それはレイテンシ、トラフィック、エラー、飽和度です。これらで、ユーザーに影響する問題の大半を把握できます。
メトリクスの種類
一般的なメトリクスの形には、増加するだけのカウンター(処理したリクエスト数)、増減するゲージ(使用中のメモリ量)、値を区間に分けるヒストグラム(リクエスト時間)があります。
メトリクスをクエリする
Prometheus のような時系列データベースでは、クエリ言語を使ってメトリクスを切り分けます。ここでは、5分間における1秒あたりのリクエストレートを計算します。
rate(http_requests_total[5m])ダッシュボードを構築する
Grafana などのツールは、クエリをパネルに変換します。優れたダッシュボードは、サービスが今健全かどうかという問いに、一目で答えられます。
- 最上段:ゴールデンシグナル
- 下段:詳細を確認するパネル
- 一貫した時間範囲
SLI とは
Service Level Indicator(SLI)は、ユーザーの満足度を反映する測定値です。たとえば、リクエストが成功し、かつ迅速に処理された割合などが該当します。
sum(rate(http_requests_total{code!~"5.."}[5m]))
/
sum(rate(http_requests_total[5m]))SLO とは
Service Level Objective(SLO)は、一定期間における SLI の目標値です。たとえば、30日間でリクエストの99.9%を成功させる、といった目標です。どの程度なら十分に良いかを定義します。
SLA と SLO
SLAは顧客に対する契約上の約束で、多くの場合、達成できなかったときのペナルティを伴います。SLO は社内向けの、通常は SLA より厳しいエンジニアリング目標です。
エラーバジェット
SLO が99.9%なら、残りの0.1%がエラーバジェット、つまり許容できる失敗の範囲です。それをリスクのあるデプロイに使い、使い果たしたら速度を落として安定化に取り組みます。
原因ではなく症状に対してアラートを出す
CPU の一時的な変動すべてではなく、ユーザーが感じる問題(高いエラー率や遅い応答)に対して担当者へ通知します。症状ベースのアラートにより、ノイズと疲労を減らせます。
ダッシュボードの乱立を避ける
ダッシュボードが多すぎるのは、まったくないのと同じくらい悪い状態です。古いまま放置されたものを何十個も作るのではなく、SLO に結び付いた、信頼できる少数の担当付きダッシュボードを維持します。
理解度チェック
SLO とエラーバジェットはどのように関係しますか。
まとめ
これで、監視を意味のあるものにできるようになりました。
- 4つのゴールデンシグナルを監視します
- カウンター、ゲージ、ヒストグラムを理解し、rate() でクエリします
- 測定値であるSLIと、目標値であるSLOを定義します
- エラーバジェットをデプロイのペース配分に活用し、症状に対してアラートを出します
信頼性は、ただ願うものではなく、測定して方向付けるものになります。
よくある質問
「メトリクス、ダッシュボード、SLI/SLO」レッスンは無料ですか?
はい。「メトリクス、ダッシュボード、SLI/SLO」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「メトリクス、ダッシュボード、SLI/SLO」で何を学びますか?
生の監視データを意味のあるメトリクスとダッシュボードに変換し、ユーザーが実際に重視する信頼性を測定するためにService Level IndicatorとObjectiveを定義します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「メトリクス、ダッシュボード、SLI/SLO」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- モニタリング入門
- 集中ログ管理ソリューション
- アラートとインシデント対応
- メトリクス、ダッシュボード、SLI/SLO