PCD#452(managing)

PCD#452(managing)
Cloud Run サービスでビジネス KPI として「1 分あたりの注文成立件数」を Cloud Monitoring へ送信し、アラートと SLO の両方で参照したいです。最も推奨されるアプローチはどれでしょうか。

正解:C

正解の根拠

ビジネス KPI を継続的に観測しアラートと SLO で参照するには、Cloud Monitoring に Custom Metric として送信するのが王道です。Cloud Run のような GA サービスでは OpenTelemetry の Metrics SDK と GCP Exporter を組み合わせると、追加のサイドカー無しで集計済みカウンタやヒストグラムを送信できます。送信後は MQL や PromQL で時系列クエリを書き、同じ指標を Alert ポリシーと Service Monitoring の SLI 双方で参照可能です。

送信方式の比較

方式遅延SLO 連携運用負荷
OpenTelemetry Custom Metric直接 SLI 化可能
ログ集計のみlog-based metric が別途必要
Trace span 数代替サンプリングで欠損不安定

サンプル送信コード

from opentelemetry import metrics
meter = metrics.get_meter("orders")
order_counter = meter.create_counter("orders_completed_total")
order_counter.add(1, {"region": "asia-northeast1"})

不正解の理由

  • A: 手動 CSV 集計は自動化と SLO 連携の要件を満たせず、アラートのリアルタイム性も確保できません。
  • B: Trace は通常サンプリングが効くため、件数の正確な計測には設計上向いていません。
  • D: Cloud Storage 経由のバッチ集計は遅延が大きく、Monitoring と SLO API への直接連携も別途必要となります。

参考:User-defined metrics with OpenTelemetry


コメント

コメント

コメントする

目次