OSの監視について
クラウド環境においては、オートスケーリング等によりコンピューティングリソースの拡張が自動かつ柔軟になり、リソース監視の必要性が薄れてきています。もちろん、監視する上ではリソースの効率利用の観点で重要ですが、どちらかといえばオートスケーリングの発動条件として監視するという位置づけに変わってきています。
コスト面
CloudWatchを活用するので導入前にCloudWatchの利用コスト面も考慮に入れるようにしましょう。
ECSで取得可能なメトリクス
CloudWatchメトリクス
基本
ECSを利用すると、ECSクラスター、ECSサービスの単位で次のようなメトリクスがデフォルトになっている。1分間隔で取得されている。
- CPUUtilization:利用されているCPU割合
- MemoryUtilization:利用されているメモリ割合
これらの情報はECSサービスごとのリソース利用概況で確認することができます。
CloudWatch Container Insights
「CloudWatchメトリクス」はあくまでECSサービス単位になる。ECSタスク単位で取得したい場合はこれを見る。また、ディスクやネットワークに関するメトリクスも収集が可能になる。
実際のサービス運用などではECSサービス単位にというよりはECSタスク単位に負荷が集中して特定のECSタスクが止まってしまってサービス停止になってしまうケースが多いのでこちらの方が重要な情報と言えるかもしれません。
取得できる項目
分類 | メトリクス | 説明 |
CPU | CpuUtilized | 利用されているCPUユニット数 |
CPU | CpuReserved | 予約されているCPUユニット数 |
メモリ | MemoryUtilized | 利用されているメモリ量 |
メモリ | MemoryReserved | 予約されているメモリ量 |
ネットワーク | NetworkRxBytes | 受信されるバイト数 |
ネットワーク | NetworkTxBytes | 送信されるバイト数 |
取得間隔
AWSドキュメント上では明記されていません。(体感は1分間隔で取得されていそうな感じはするが。)
デメリット
デフォルトのままでは収集されず、ECSクラスター単位で明示的なオプトイン(内容の承諾)が必要で、カスタムメトリクスの扱いとなり全て追加課金の対象となる。
アラート通知
「CloudWatchメトリクス」と「CloudWatchアラーム」を組み合わせることでアラート通知もできます。
この記事へのコメントはありません。