この記事は「はてなエンジニア Advent Calendar 2024」の33日目向けに書きました。
↓これ。
昨日は
id:tkzwtks さんのNext.jsでNEXT_PUBLICプレフィクスの環境変数をできるだけ避ける - たきざわの日記でした。恐らくもうしばらく続くかと思います。
年末年始は体調を崩して寝ていたり、ゲームをしたり、プラモを組んだりしていて記事のネタを仕込む暇がなかったので、比較的最近いくつか困りやハマりどころがあったAWSのAmazon CloudWatchのメトリクスの見方をまとめて年を明けることにした。これ自体はそのうち書こうと思っていたので丁度良いきっかけになったと思う。
AWSのマネージドサービスを使っていると、そのサービスの状況を知るのにCloudWatchのメトリクスを見ることを避けては通れない。普段はMackerelのAWSインテグレーションでメトリクスを眺めて過ごしているのだけれど、それでもまぁCloudWatchで見たい場面は出てくる。この際、どう見るべきだと捉えているか、どう見ているか、気をつけたい点をかえりみた。
メトリクスの見方
CloudWatchのメトリクスのページには、どう使うのか? は書かれていても、何をどう見ればいいのかは書かれていない。それらは、見たいリソースのドキュメントに書かれているのでそちらを参照する。
- Application Load Balancer のCloudWatch メトリクス - Elastic Load Balancing
- Amazon RDS の Amazon CloudWatch メトリクス - Amazon Relational Database Service
- などなど
フォーマットが統一されていないのが困りものだが、どういったメトリクスを参照できるかが書かれている。主にこれを参考にして気にしたいリソースのメトリクスを見ている。
CloudWatchメトリクスの歩き方
先にも示したCloudWatchのメトリクスのページには色々使い方が書かれているが、CloudWatchの機能を起点にしてメトリクスを正しく見るのはかなり難易度が高い。見たいものを探すのも、どういう統計値が妥当なのかを判断するのも、かなりの慣れが要る。
なので、各リソースにあるモニタリングページから見ている。 そのリソースが提供しているメトリクスが一覧されているため見たいものを探しやすく、妥当な設定でグラフにされているため迷ったり間違えたりすることがない。


また、ここから「メトリクスで見る」こともできるので、他のリソースと並べたり、別の見方をしたい場合に設定を変更するベースにすることができる。

気をつけポイント
グラフの表示期間を広くした際のAverage, Sum, Count値の変化
CloudWatchのメトリクスをグラフ表示した際に、ある点が示す期間はグラフの表示期間で変化する。
1分ごとの表示だと思って眺めていたら5分になっていて、欲しい数値とは全然違う数字を眺めているようなことはよくある。
Averageで負荷を見ていて期間を広くすると均されてしまってピーク負荷が見えなくなってしまったり、Sumで処理数を見ていて全然違う単位時間当たりの数を見ていたり、辺りが代表的よくあるだろうか。
原点が0じゃないことがある
メトリクスによってはグラフのY軸の範囲が0から最大値ではなく、最小値から最大値のようになっていたりする。
原点が常に0だと思っていると、グラフの形から得る印象と実際は違う値でびっくりすることがある。
軽く〆
自分のCloudWatchメトリクスの歩き方をざっくり書いてみたけれど、まぁまぁ無難に歩けているのではないだろうか。
特に気をつけポイントは「分かっちゃいるけど」毎回ハマっているので、記事にすることで自分に対して印象付けするとともに、目にした方のハマり回避になったら嬉しい。ハマってびっくりするだけならいいのだけれど、ハマって値を取り違えたままだと致命的に困るのだ。
それはさておき、今の自分に必要なのは周回遅れで始めたエルデンリングの歩き方だ。あまりにも難しすぎる。まともに歩けていない。でもクリアはしたい。となった場合「レベルを上げて物理で殴る」はかなり手ごたえがあるのでこれか? という気になっている。
そんな感じ!