はじめに
アプリを運用する際、ずっとサーバーなどを人間の目で監視するわけにはいかないので、自動化する必要があります。
この時、AWSで使用されるものはCloudWatchです。本記事では、CloudWatchの基本的な機能、使い方、そして具体的な利用シーンについて詳しく解説します。
1. CloudWatchとは
AWS CloudWatchは、AWSのシステムから各種メトリクス、ログ、イベントを収集し、保存できるサービスです。これにより、システムのパフォーマンス監視や障害検知、運用自動化が容易になります。
2. CloudWatchの主な機能
2.1 メトリクスの収集と表示
-
メトリクス
AWSのサービス(EC2、RDSやLambdaなど)の各種パフォーマンス指標(CPU使用率、ディスクI/O、ネットワークトラフィックなど)を収集します。 -
ダッシュボード
グラフを使用して、メトリクスを視覚的に表示します。
2.2 アラームの設定
-
閾値監視
指定した閾値を超えた場合にアラームを発生させます。 -
自動アクション
アラームに連動して、SNS通知、Lambda関数の起動、Auto Scalingなどを実行します。
3. 具体的な利用方法
EC2の監視
-
サーバーの死活監視
- EC2が起動中であるか、停止中であるかといったステータスの監視
-
リソースの監視
- CPU、メモリー、ディスクI/O、ネットワークの使用量や使用率などの監視
-
ログ監視
- システムログやアプリケーションが出力するログファイルのテキストデータを収集する
- フィルター条件に一致したログテキストを検出時にメール通知
RDSの監視
- 状態監視
- データベースインスタンスの停止や状態変化を検知
- パフォーマンス監視
- ストレージの空き容量や、ディスクの読み込みI/O操作数やRead/Writeなどをメトリクスとして収集
- ログ監視
- RDSが出力するログファイルのテキストデータを収集する
- フィルター条件に一致したログテキストを検出時にメール通知
参考記事