😐

システムメトリクスとビジネスメトリクスの違い

2022/04/20に公開

CloudWatchなどの監視ツールでビジネスメトリクスを取得するのはユースケースがあってないことがわかった。課金体系がシステム監視に特化しているのでメトリクスで破産することになりそう。

システムメトリクスとビジネスメトリクスの違い

システムメトリクス、例えばCPU使用率

  • システムメトリクスは半永久的にデータが発生する(CPU使用率やメモリ使用率)。
  • システムメトリクスはほぼ毎秒データが発生する(CPU使用率やメモリ使用率)。
  • システムメトリクスはディメンションのカーディナリティ(種類)が少ない(レスポンスのステータスコードも2XXサクセス、3XXリダイレクト、4XXエラー、5XXエラーとすればたったの4つ)。
  • システムメトリクスはメトリクスにアラートを設定することもある(CPU使用率90%こえたらアラート)

ビジネスメトリクス、例えばチャットルームごとのコメント数の推移

  • ビジネスメトリクスは例えばルームが終わればそのルームのコメント数のメトリクスは終了する。
  • ビジネスメトリクスはユーザーのアクションごとにデータが発生する(コメント投稿)。
  • ビジネメトリクスはディメンションのカーディナリティ(種類)が無限なことがおおい(roomIdは∞でuserIdは∞なのでディメンションの数は∞)
  • ビジネスメトリクスは基本的にアラートは設定しない。

システムメトリクス監視ツールは、システムメトリクスの特性に従って課金体系が決められているので、それをビジネスメトリクスの計測にも利用しようとすれば、破産する。ビジネスメトリクスをシステムメトリクスのように変更すればりようできるかもしれないが、結局欲しいデータではない(例:ルームIDごとユーザーIDごとのコメント数を取るのをやめて、全体のコメント数を計測する)。

例: CloudWatchの場合の料金。ルームごとユーザーごとのコメント投稿数を時系列で測定したい。

  • 1ルームユーザー5人まで
  • 仮に現在100ルーム存在していたら
  • CloudWatchは 1メトリクス1ヶ月あたり$0.3
    1ヶ月あたりの料金は
    0.3 * 100 * 5 = 150
    1ヶ月あたり$150かかり、さらに今後もルームが増えていく。

Discussion