メトリクスベースの SLO クエリをスコープする

この機能は、メトリクスベースの SLO クエリでのみ使用できます。

概要

SLO ウィジェットは、テンプレート変数を使用して表示される結果を動的に範囲指定するなど、高度なメトリクスクエリフィルタリングをサポートしています。

SLO クエリの説明

メトリクスベース SLO クエリ

まず、メトリクスベースの SLO を作成します。この例では、APM のトレースメトリクスを使用して、web-store という例のサービスの可用性を測定しています。

良好イベント (分子)

sum:trace.rack.request.hits{service:web-store} by {resource_name}.as_count()
sum:trace.rack.request.errors{service:web-store} by {resource_name}.as_count()

総イベント (分母)

sum:trace.rack.request.hits{service:web-store} by {resource_name}.as_count()

トレースメトリクスの例を示す SLO 構成

SLO ウィジェット

SLO ウィジェットエディターで SLO を選択します。ウィジェット構成で追加のフィルターを適用して、表示される結果の範囲をさらに絞り込むことができます。これにより、SLO の元の定義が変更されることはありません。この例では、ウィジェットの filter by フィールドに $env$availability-zone タグを追加しています。

$env と $availability-zone のダイナミックタグがある SLO サマリーエディター

この構成で、Dashboard テンプレート変数env:prodavailability-zone:northcentralus に変更するとどうなりますか?

SLO ウィジェットは、視覚化を目的に SLO メトリクスクエリをこれらの追加タグでフィルターします。

良好イベント (分子)

sum:trace.rack.request.hits{service:web-store, env:prod, availability-zone:northcentralus} by {resource_name}.as_count()
sum:trace.rack.request.errors{service:web-store, env:prod, availability-zone:northcentralus} by {resource_name}.as_count()

総イベント (分母)

sum:trace.rack.request.hits{service:web-store, env:prod, availability-zone:northcentralus} by {resource_name}.as_count()

参考資料

お役に立つドキュメント、リンクや記事: