kakakakakku blog

Weekly Tech Blog : Keep on Learning 👍

ElastiCache for Redis でシングルコアに対応したメトリクス EngineCPUUtilization が追加された

今月発表された ElastiCache for Redis のリリースで,新 CloudWatch メトリクス EngineCPUUtilization が追加された.

今まで

もともと Redis はシングルコアで稼働するため,例えば vCPU 4 を搭載する cache.r4.xlarge を使う場合,CPUUtilization の 25% で「実質 100%」を意味する.この仕様を理解できていないと,Redis の CPU 負荷を見逃してしまう可能性もあり,よく知られていると思う.Black Belt 資料にも記載がある.

www.slideshare.net

これから

今後はシングルコアに対応したメトリクス EngineCPUUtilization を使えば,vCPU を気にせずにモニタリングすることができる.監視設定で計算をする必要もなくなり,とにかく便利!

新しいメトリックスは以前存在した CPUUtilization メトリックスに加えられ、その他のオペレーティングシステムや管理プロセスを含むサーバーインスタンスの CPU の使用状況の全体をまとめて示します。新しい EngineCPUUtilization と以前の CPUUtilization メトリックスの両方をまとめて使用して、お使いの Redis 環境の CPU 使用状況の詳細を理解されることをお勧めいたします。

実際に CloudWatch で確認をしてみた.

f:id:kakku22:20180417193941p:plain

注意点は ElastiCache for Redis クラスタを構築した時期によって EngineCPUUtilization を取得できないことで,日本語のドキュメントには「2017/11/01 以降」と書かれていた.ただし,英語のドキュメントには「February 14, 2017 19:58 (UTC)」と書かれていて,そこそこズレているので,実際に確認してみるのが良さそう.

docs.aws.amazon.com

docs.aws.amazon.com

Mackerel AWS Integration

昨日のリリースで,Mackerel AWS Integration でも EngineCPUUtilization を取得できるようになった.ElastiCache は Mackerel でモニタリングをしているので,すぐにリリースしてもらえて助かった.

mackerel.io

実際に Mackerel で確認をしてみた.

f:id:kakku22:20180417194157p:plain

まとめ

  • ElastiCache for Redis のメトリクスに EngineCPUUtilization が追加された
  • 今後は vCPU を気にせずにモニタリングすることができる
  • Mackerel AWS Integration でも,既にメトリクスが取得できるようになっている