シナリオ:Kaiが、Syntheticsチェックに基づいてサービスレベル目標(SLO)を設定する 🔗
Buttercup Gamesのサイト信頼性エンジニアであるKaiは、Buttercup GamesのウェブサイトにあるEmbyサービスのSynthetics Browserテストを作成しました。KaiはEmbyサービスをインストルメントしていませんが、このサービスの健全性を監視したいと考えています。
Embyサービスの健全性メトリクスを測定し追跡するために、Kaiは、Synthetics Browserテストに基づいてカスタムメトリクスSLOを設定します。
サービスレベル指標(SLI)としてカスタムメトリクスを使用する 🔗
Detectors & SLOs ページから、SLIを設定し、SLOの目標を設定します。以下の手順に従います:
Syntheticsメトリクスをシステム健全性指標として使用したいため、Metric type メニューから Custom metric を選択します。
SignalFlowエディターに以下のプログラムを入力します:
G = data('synthetics.run.count', filter=filter('test', 'Monitoring Services - Emby check') and filter('success', 'true')) T = data('synthetics.run.count', filter=filter('test', 'Monitoring Services - Emby check'))
Kaiは、変数
G
とT
を、Embyサービスに送信されたリクエストの健全性を測定するsynthetics.run.count
メトリック時系列(MTS)の2つのストリームとして定義します。この2つのデータストリームを区別するため、success
の定義において、G
ディメンションに追加のフィルターを適用します。このフィルターは、Embyサービスに対する成功したリクエストを追跡するMTSの特定の集合をクエリします。KaiのSignalFlowプログラムでは、G
は成功イベントのデータストリームであり、T
はイベント総数のデータストリームです。Kaiは、
G
を Good events (numerator) ドロップダウンメニューに、T
を Total events (denominator) ドロップダウンメニューに割り当てます。以下のフィールドを入力して、SLOの目標を定義します:
フィールド
値
説明
Target (%)
99.9
Kaiは、目標99.9%に対してEmbyサービスのリクエスト成功率を測定したいと考えています。
Compliance window
過去30日間
Kaiは、過去30日間を対象にこのSLOを追跡したいと考えています。
Kaiは、このSLO目標の違反イベントが発生すればアラートを受信するように、受信登録します。
まとめ 🔗
Kaiは、SLOを設定し、Buttercup Gamesウェブサイト上のEmbyサービスがリクエスト率の目標を満たせなかった場合に通知する違反イベントのアラートを受信登録しました。このサービス自体をインストルメントしていないにもかかわらず、既存のSynthetic Browserテストからのカスタムメトリクスを使用してSLOを設定することができました。
さらに詳しく 🔗
SLOの作成方法の詳細については、サービスレベル目標(SLO)を用いて、サービスの健全性メトリクスを測定および追跡します。 を参照してください。
Synthetics Browserテストの詳細については、ウェブページのブラウザテスト を参照してください。
SignalFlowの詳細情報は、『Splunk Observability Cloud開発者ガイド』の「 SignalFlowを使用したデータ分析 」を参照してください。