概要
EC2 on ECSタスクの構成で、各タスクのCPU利用率の推移ってどうしたらわかるんだろう?と思って調べてみました。
①CloudWatchメトリクス
CloudWatchメトリクスには、ECSクラスタ、サービス単位でのCPU利用率(CPUUtilization)の推移は確認することができましたが、タスク単位では存在しないようです。
②Container Insights
Container Insightsは、ECSクラスタやタスク単位のメトリクスが取得できるサービスです。
ざっくり言うと、ECSクラスタでこの機能をオンにして、CloudWatchの画面からInsightへ飛ぶだけで見れるようになります。
詳細は以下の記事がわかりやすかったです。
下に「Task performance」が表示されており、各タスクの負荷状況を個別に閲覧できます。これが欲しかったんやで!!
上述の通り、各タスクの負荷状況を確認することはできます。
ただし、これは平均使用率らしく、各タスクのCPU利用率の「推移」についてはわからないようでした。
惜しい...
③docker container stats
コマンド
ECSタスクが起動しているEC2サーバに入り、docker container stats
コマンドを使うと、以下のように各タスクのCPU利用率がわかります。
目視での観測になりますが、これであれば各タスクの利用率推移がわかりました。
100%に近いもの、もしくは超えるものがあればvCPUが足りないな、など確認が可能です。
また、タスク分散が均等に割り振られていないことなどがあれば、それもここで確認できますね。
せっかくAWSにはCloudwatchメトリクスがあるので、タスクごとのCPU利用率の推移がわかる画面があると嬉しいんですが...今後に期待(知っている方がいたらぜひ教えてください)。