メトリクス・カスタムメトリクス めとりくす・かすたむめとりくす
メトリクス監視KPIPrometheusカスタムメトリクス時系列データ
メトリクス・カスタムメトリクスについて教えて
簡単に言うとこんな感じ!
メトリクスとは「一定時間ごとに記録される数値データ」のこと。CPU使用率やリクエスト数みたいな標準的なものが「メトリクス」、「今日の注文数」や「チェックアウト失敗率」など自社ビジネスに特化したものが「カスタムメトリクス」だよ。
メトリクス・カスタムメトリクスとは
メトリクス(Metrics)とは、システムの状態を定量的に表す時系列の数値データです。一定の時間間隔(例:1分ごと)で収集され、グラフ表示やアラート判定に使われます。オブザーバビリティ(可観測性)の3本柱(メトリクス・ログ・トレース)の一つです。
クラウドサービスやOSが自動収集する標準メトリクス(CPU使用率、ネットワーク帯域、ディスクI/Oなど)に対し、カスタムメトリクスは開発者がアプリケーションに計装(インストルメンテーション)を追加して独自に定義・送信する数値です。「1分あたりの決済成功数」「ログインエラー率」「キューの滞留件数」などビジネス指標をカスタムメトリクスとして可視化することで、システムとビジネスの両面から健全性を把握できます。
メトリクスはログより軽量で長期保存に向いており、集計・グラフ化が容易です。一方で詳細な文脈情報はないため、「何かがおかしい」ことは分かっても「なぜおかしいか」の調査にはログやトレースが必要です。
メトリクスの種類
| 種類 | 説明 | 例 |
|---|---|---|
| Counter(カウンター) | 単調増加する累積値 | リクエスト総数、エラー総数 |
| Gauge(ゲージ) | 任意の値を取る瞬間値 | CPU使用率、接続数、メモリ使用量 |
| Histogram(ヒストグラム) | 値の分布を記録 | レスポンスタイムのパーセンタイル |
| Summary(サマリー) | クライアント側で計算した分位数 | P50・P95・P99レイテンシ |
標準メトリクス vs カスタムメトリクス
| 項目 | 標準メトリクス | カスタムメトリクス |
|---|---|---|
| 収集方法 | クラウド・OSが自動収集 | アプリコードに計装が必要 |
| コスト | 無料(基本的に) | 追加コスト発生(数・頻度による) |
| ビジネス意味 | インフラ視点 | ビジネス・アプリ視点 |
| 例 | CPU、メモリ、ディスク | 注文数、カート放棄率、API応答時間 |
歴史と背景
- 2000年代:Ganglia・Nagiosなどのモニタリングツールが業務用サーバー監視の主流
- 2012年:PrometheusがSoundCloudで開発され、ラベルベースの多次元メトリクスが普及
- 2016年:PrometheusがCNCFに寄贈。コンテナ・Kubernetes環境での標準になる
- 2019年:OpenMetricsが策定され、Prometheusフォーマットが標準化される
- 2020年代:OpenTelemetryによりメトリクス・ログ・トレースの統合収集が加速
メトリクス収集の仕組み
関連する規格・RFC
| 規格 | 内容 |
|---|---|
| OpenMetrics(CNCF) | Prometheusフォーマットを標準化した仕様。RFC化も進行中 |
| StatsD プロトコル | シンプルなUDPベースのメトリクス送信プロトコル |
関連用語
- CloudWatch・Azure Monitor・Cloud Monitoring — メトリクスを収集・可視化するクラウドサービス
- OpenTelemetry — メトリクス・ログ・トレースを統合収集する標準
- SLI・SLO・エラーバジェット — メトリクスを使ってサービス品質を定義
- アラート設計 — メトリクスのしきい値でアラートを発報