サービスレベル目標の始め方

Instana で最初のサービスレベル目標(SLO)を作成し、その主要な概念や設定オプションについて理解することができます。

準備

最初のSLOを作成する前に、以下の準備が整っていることを確認してください:
  • アクセス権限 :「サービスレベルへのアクセス」権限および「SLO構成の作成、設定、削除」権限
  • 監視対象エンティティ : Instana には、以下のいずれか少なくとも1つが既に設定されている必要があります:
    • アプリケーション・パースペクティブ
    • ビーコンデータ付きウェブサイト
    • 合成テスト
    • インフラストラクチャエンティティ(ホスト、コンテナなど)

SLOの概念を理解する

SLOを作成する前に、主要な構成要素がどのように連携して機能するかを理解することが重要です。

SLI/SLO/エラー予算の関係

  
┌─────────────────────────────────────────────────────────────┐
│  Service Level Indicator (SLI)                              │
│  "What you measure"                                         │
│  Example: Response time, error rate, availability           │
└────────────────┬────────────────────────────────────────────┘
                 │
                 ▼
┌─────────────────────────────────────────────────────────────┐
│  Service Level Objective (SLO)                              │
│  "Your target"                                              │
│  Example: 99% of requests < 100ms                           │
└────────────────┬────────────────────────────────────────────┘
                 │
                 ▼
┌─────────────────────────────────────────────────────────────┐
│  Error Budget                                               │
│  "Allowed failures"                                         │
│  Example: 1% = 101 minutes/week OR 252 failed calls         │
└─────────────────────────────────────────────────────────────┘
        
主要な概念:
  • サービスレベル指標(SLI) :サービスパフォーマンス(例:遅延、可用性、トラフィック)の定量的測定値
  • ブループリント : 測定対象のSLIの種類(レイテンシ、可用性、トラフィック、飽和度、またはカスタム)
  • SLO目標 :達成したいパフォーマンスレベル(例:99%)
  • エラー予算 :目標値(この例では1%)の逆数であり、許容可能な失敗を表す
  • 良い出来事/悪い出来事
    • 良好 :しきい値を満たす指標(例:応答時間 < 100ms )
    • 悪い :しきい値を超えたメトリクス(例:応答時間 ≥ 100ms )
  • バーンレート :SLOの時間枠に対して、エラー予算をどれだけ速く消費しているか
決定ガイド:SLO構成の選択

ステップ1: エンティティの種類を選択してください

エンティティー・タイプ 以下に最適 一般的なユース・ケース
アプリケーション バックエンドサービス、API API 遅延、サービス可用性、エラー率
ウェブサイト ユーザー向けウェブアプリケーション ページ読み込み時間、ユーザー体験、フロントエンドエラー
合成テスト プロアクティブな監視 稼働時間監視、多段階ユーザーフロー
インフラストラクチャー システム・リソース CPU、メモリ、ディスク使用率

ステップ2:設計図を選択する

ブループリント 測定 使用タイミング
レイテンシー 応答時間 速度が重要な場合(API、ページ読み込み)
使用可能 成功率 稼働時間が極めて重要である場合(サービス、ウェブサイト)
トラフィック 要求ボリューム 負荷の一貫性が重要な場合
彩度 リソース使用量 インフラストラクチャのキャパシティ計画
カスタム ユーザー定義の基準 特定のビジネス要件に対して

ステップ3:測定タイプを選択する

タイプ エラー予算単位 以下に最適 計算方法
時刻ベース 一貫した交通パターン 1分ごとの集計メトリクス
イベント・ベース イベント(コール/ビーコン/結果) 変動する交通量 個々の良い/悪い事象をカウントする
時間ベースの例 :「99%の分において、平均遅延が 100ms 未満でなければならない」
  • 静的エラー予算:10,080分(1週間)の1%=101分
イベントベースの例 : 「リクエストの99%はレイテンシが 100ms 未満でなければならない」
  • 動的エラー予算:総リクエスト数の1%(トラフィックに応じて変動)

チュートリアル:初めてのSLOの作成

このチュートリアルでは、アプリケーションのレイテンシを監視するためのSLOを作成します。

シナリオ

目標 :7日間移動平均において、 API からの「決済サービス」アプリケーションへの呼び出しの95%が 200ms 以内に応答することを保証する。

ステップバイステップの説明

  1. 「サービスレベル」に移動する

    • Instana のUIナビゲーションメニューから、 「サービスレベル」 をクリックします
    • サービスレベル目標を作成をクリック
  2. エンティティーの選択

    • エンティティタイプ: アプリケーション
    • アプリケーションを選択してください: 決済サービス (検索可能なリストから)
    • 次へ をクリックします。
  3. スコープの設定

    • スコープ内のコール : 着信コール (アプリケーション外部からのコール)
    • 非表示の呼び出しを含める (オプション):
      • 内部コール: 無効 (内部サービスコールを除外)
      • 合成コール: 無効 (ヘルスチェックを除く)
    • サービスとエンドポイント選択 (ドロップダウンメニューを使用)
      • サービス: すべてのサービス (または特定のサービスを選択)
      • エンドポイント: すべてのエンドポイント (または特定のエンドポイントを選択)
    • 次へ をクリックします。
  4. インジケーターの設定

    • 設計図: レイテンシー
    • 測定タイプ: 時間ベース (1分ごとにメトリクスを集計)
    • 集計: 平均値 (1分あたりの平均遅延)
    • しきい値: 200 ミリ秒
    • 次へ をクリックします。

    これは次のことを意味します :毎分、 Instana は平均レイテンシーを計算します。 平均値が 200ms を超える場合、その分は「不良」とマークされ、エラー予算を消費する。

  5. 目標の設定

    • SLO目標値: 95% (稼働時間の95%が閾値を満たす必要がある)
    • 時間ウィンドウ: ローリング (過去7日間を継続的に評価)
    • 期間: 7日間
    • タイムゾーンの固定: 無効 (デフォルトでUTCを使用)

    エラー予算のプレビュー : 504分 (7日間 × 24時間 × 60分 × 5%)

  6. 詳細の入力

    • 名称: 決済サービス - レイテンシーSLO
    • タグ: 生産, 支払い, 重要 (オプション、フィルタリング用)
    • チーム: 支払いチーム監査チーム (任意)
    • 作成 をクリックします。
SLOダッシュボードの理解
作成後、SLOダッシュボードが表示され、以下が表示されます:
  • ステータス : 現在の達成率(例: 96.5 %)と目標値(95%)の比較
  • エラー予算の残量 : エラー予算内の残り時間 (例: 504分のうち450分)
  • バーンレート :エラー予算が消費される速度(例: 1.2x = 予想より20%速い)
  • 指標チャート :時間経過に伴う遅延と閾値線
  • エラー予算チャート :経時的なエラー予算の消費量
  • トラフィックチャート :時間経過に伴うリクエスト量

次のステップ

最初のSLOを作成したところで、次の点を検討してください:
  1. スマートアラートを追加 :SLOステータス、エラー予算、またはバーンレートがしきい値を超えた際に通知を受け取る

  2. 修正ウィンドウの作成 :計画メンテナンスまたは非営業時間帯を除外する

  3. SLOウィジェットの追加 :カスタムダッシュボードにSLOを表示する

  4. さらに多くの例を探る :さまざまなSLO設定について学ぶ

  5. API で自動化 :SLOをプログラムで管理

一般的な質問

Q: 時間ベースの測定とイベントベースの測定、どちらを使うべきですか?

A: トラフィックパターンが安定しており、予測可能なエラー予算が必要な場合には、 時間ベースを使用してください。 トラフィックが変動する場合、または個々のリクエストの成功率が重要となる場合には、 イベントベースを使用してください。

Q: 始めるのに適したSLO目標は何ですか?

A: 非重要サービスは95%、重要サービスは99%、重要サービスは 99.9 %から開始できます。 実際の業績と事業要件に基づいてこれらの目標を調整してください。

Q: 私の時間枠はどのくらいにすべきですか?

A: 一般的な選択肢には以下が含まれます:
  • 1日 : 迅速なフィードバックを提供;開発やテストに有用
  • 7日間 :応答性と安定性のバランスを保つ
  • 28日間 :長期的な傾向を示す;本番環境でのサービスに推奨
  • 暦月 :ビジネス報告サイクルに合致するため、月次SLAレビューや財務報告期間に最適です。 特定の時間帯でのみ利用可能です。

Q: SLOステータスが常に100%の場合はどうなりますか?

A: あなたの基準が甘すぎる可能性があります。 指標チャートを確認し、より挑戦的でありながらも達成可能なレベルになるよう閾値を調整してください。

Q: SLOを作成後に変更できますか?

A: はい、名前、対象、時間枠の種類/長さ、タイムゾーン、タグを更新できます。 ただし、エンティティ、スコープ、またはインジケーターの設定を変更することはできません。

暦月の期間を指定するのは、どのような場合に適切でしょうか?

A: 以下の場合には暦月の時間枠を使用してください:

  • SLOレポートを事業カレンダーと月次レビューに整合させる必要があります
  • 御社はSLAを月次ベースで追跡しています
  • 月ごとの比較を常に一貫して行いたい
  • 財務または業務報告は暦月の区切りで実施される
注記: カレンダー月単位は固定期間(ローリングではない)でのみサポートされ、1か月間の期間のみがサポートされます。 月の中旬に作成された場合、初期期間は部分期間(作成日から月末まで)となり、以降の期間は完全な暦月に従って設定されます。

Q: 合成テストは個別に選択するのですか、それともフィルターを使って選択するのですか?

A: 個別の合成テスト選択機能を使用し、SLOに特定の固定されたテストセットを監視させます。 フィルタによる選択機能を使用すると、テスト名、ロケーションID、アプリケーションIDなどの属性に一致するすべての合成テストをSLOに自動的に含めることができます。 フィルターに基づく選択により動的な範囲が作成されるため、フィルターの条件を満たす新しく作成されたテストは自動的にSLOに含まれます。