AWS Compute Optimizer で Amazon EC2 のメモリ使用率が表示されない
2023.7.13
はじめに
Compute Optimizer では、様々なメトリックを見比べながら EC2 インスタンスの最適化が行なえます。
ある日、Compute Optimizer を見てインスタンスが最適化されているかを見ていました。
ただ、メモリ使用率の欄だけ空白でその原因が気になったので調査しました。
なお、Compute Optimizer を使った EC2 最適化方法については以下をご覧下さい。
状況
なお、前提として CloudWatch Agent を入れていない場合はメモリ使用率は表示されません。
今回の場合は、CloudWatch Agent をインストールしており、CloudWatch メトリクスでメモリ使用率が確認できている状態だが Compute Optimizer では表示されない場合としております。
メモリ使用率 (パーセント)
このインスタンスに Amazon CloudWatch エージェントをインストールして、メモリメトリクスを有効にします。
以下、Compute Optimizer で対象の EC2 の推奨事項を表示した画面です。
本来であれば、以下のようにほか項目と同じように値が表示されています。
CloudWatch メトリクスでは該当インスタンスのメモリ使用率が取れている状態です。
メモリ使用率が表示されない原因
原因は至ってシンプルです。
カスタムメトリクスの名前空間がデフォルトと異なり対象外と判定されているから。
Compute Optimizer が読み取ってくれる名前空間は以下の通りです。
それ以外に CloudWatch Agent の Config で指定している場合は読み取ってくれません。
- Linux OS の場合
- CWAgent 名前空間内の mem_used_percent メトリクス
- System/Linux 名前空間内のレガシー MemoryUtilization メトリクス
- Windows OS の場合
- CWAgent 名前空間内の Available MBytes メトリクス
- Available MBytesMemory % Committed Bytes In UseCWAgent とメトリクスの両方が名前空間で設定されている場合、Compute OptimizerAvailable MBytes は推奨値を生成するプライマリメモリメトリックとして選択します。
AWS Compute Optimizer で分析されたメトリクス – AWS Compute Optimizer
解決方法
それぞれの OS に合わせた名前空間に変更することで正しく表示されるようになります。
Linux OS の場合
「namespace」で「CWAgent」を明示的に指定すれば OK です。
{ "metrics": { "namespace": "CWAgent", "metrics_collected": { "mem": { "measurement": ["mem_used_percent"] } } } }
Windows OS の場合
「namespace」のデフォルト値が「CWAgent」なので、明示的に記述しなくても大丈夫です。
{ "metrics": { "metrics_collected": { "Memory": { "measurement": [ { "name": "Available MBytes" } ] } } } }
CloudWatch エージェント設定ファイルを手動で作成または編集する – Amazon CloudWatch
参考資料
CloudWatch エージェントを使用して Amazon EC2 インスタンスとオンプレミスサーバーからメトリクスとログを収集する – Amazon CloudWatch
AWS Compute Optimizer とは? – AWS Compute Optimizer
AWS Compute Optimizer で分析されたメトリクス – AWS Compute Optimizer
テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!
Follow @twitter2021年新卒入社。インフラエンジニアです。RDBが三度の飯より好きです。 主にデータベースやAWSのサーバレスについて書く予定です。あと寒いのは苦手です。
Recommends
こちらもおすすめ
Special Topics
注目記事はこちら
データ分析入門
これから始めるBigQuery基礎知識
2024.02.28
AWSの料金が 10 %割引になる!
『AWSの請求代行リセールサービス』
2024.07.16