この機能は、メトリクスベースの 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 の元の定義が変更されることはありません。この例では、ウィジェットの filter by フィールドに $env
と $availability-zone
タグを追加しています。
この構成で、Dashboard テンプレート変数を env:prod
と availability-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()
参考資料