7章メトリクス

運用監視の基本的な要件の1つは、サービスやリソースの状態を時間経過とともに追跡できることです。 重要業績評価指標(KPI)を効果的に監視するには、 リアルタイムと履歴の両方を可視化して特定の対象やしきい値に対して状態を評価できる、安定したシグナルが必要です。 これがメトリクスを使う目的です。

メトリクスはもっとも広く知られたテレメトリーシグナルの1つです。 ソフトウェアシステムで何十年にもわたり使用されてきましたが、 マイクロサービスアーキテクチャや、大規模デプロイ環境でのメトリクスバックエンドは、 データの取り込み量が増え続ける中で対応が難しくなり、結果としてコストの増加やユーザー体験の低下が生じることもあります。

OpenTelemetryでは、サービス所有者が目的の計装に適したシグナル(スパン、メトリクス、ログなど)を選択し、 エクスポートするメトリクスに適切な集約レベルを指定するためのツールが提供されます。 共通のコンテキスト伝搬システムとセマンティック規約を用いることで、メトリクスは単独のイベントとして 評価されるのではなく、統合されたオブザーバビリティソリューションの一部として機能するようになります。

本章では、OpenTelemetry Metrics APIの設計原則、各種メトリクス型、 メトリクスを他のシグナルと結びつけるコンテキストの役割、Metrics SDKの設定方法、 そしてテレメトリーバックエンドにデータを集約・エクスポートする方法を探ります。

7.1. 測定、メトリクス、時系列

メトリクスというものを考えるとき、通常は時刻順に並んだ一連の値をプロットしたグラフが最初に思い浮かびます。 これらの各値は、単一のデータポイントに基づく場合もあれば、時間間隔やディメンションにわたって集約されたデータかもしれません。 ...