今日はAWSのサービス監視機能として有名な、Amazon CloudWatchについて勉強していきます。
2023年4月時点の情報です。
もくじ
・アラーム
・ログ
1.Amazon CloudWatchとは
Amazon CloudWatchは、AWSのサービスモニタリング(監視)や、モニタリングデータの活用を行えるサービスである。
AWS上のサービスはもちろん、オンプレミスや他のクラウド上のリソースとアプリケーションも監視対象にできる(ただし統合CloudWatchエージェントをインストールしておく必要あり)。
2.Amazon CloudWatchの主な機能
Amazon CloudWatchの主な機能を3つ紹介する。
◎メトリクス
メトリクス(CloudWatch Metrics)は、監視対象リソースのメトリクスの収集・集計・可視化を行う機能である。
メトリクスとは、システムのパフォーマンスに関するデータのことで、
CPU使用率の推移やデータのI/Oなどが例として挙げられる。
デフォルトでは、無料で多数のサービスの基本メトリクスが自動で発行されている。
(どのサービスでどんなデータが取られているかは公式ドキュメント参照)
一部のサービスでは、有料だが、より詳細なメトリクスの発行も設定できる。
(どのサービスで詳細メトリクスを発行できるかは公式ドキュメント参照)
例えばAmazon EC2なら、CPU使用率のメトリクス取得間隔を、基本メトリクスの5分から1分に変更したり、メトリクスを取得したりといったことができる。
↓EC2インスタンスのCPU使用率のメトリクス(無料範囲)をグラフで確認した例
↓グラフによる可視化方法を指定したり、メトリクスデータを利用して統計情報を計算・確認したりといったこともできる。
◎アラーム
アラーム(CloudWatch Alarms)では、収集したメトリクスデータを利用して、アラームと実行アクションを定義できる。
例えば、CPU使用率がxx%を超えたらアラームを発行し、
Amazon SNSに通知を送信する、Amazon EC2 Auto Scalingのアクションを実行するといったことができる。Systems Managerにて、OpsItemやインシデントを作成することも可能だ。
また、複数の条件を全て満たしたときのみアラームを発行することもできる(複合アラーム)。
アラームの状態には以下の3つがある。
状態 | 説明 |
---|---|
OK | 正常 |
アラーム状態 | 異常(定義された状態である) |
データ不足 | データが不足しており、状態の判別不可 |
◎ログ
CloudWatch Logsは、AWSサービスやアプリケーションのログファイルの監視・保存・アクセスが行えるサービスである。
ログの取得自体は、統合CloudWatchエージェント(旧サービスではCloudWatch Logsエージェント)が行い、CloudWatch Logsに送られる。受信したログは、CloudWatch Logsにて階層構造で管理される。
エージェントをインストールしていれば、オンプレミスサーバからもログを送信できる。
3.Amazon CloudWatchのその他の機能など
CloudWatchには、上で紹介した以外にも、様々な機能がある。
一部機能は、AWSの他のサービスと統合したり、後継サービスに引き継がれたりもしている。
その他の主な機能の概要を以下に示す。
機能 | 概要 |
---|---|
CloudWatch Events | ※後継サービス「Amazon EventBridge」に統合。 イベント(リソースの変更)を契機に、定義済のルールとイベント内容を照らし合わせ、一致したイベントの実行を管理する機能。イベント駆動だけでなく、スケジュール駆動でもルールを設定できる。 |
CloudWatch Service Lens | ※「AWS X-Ray」に統合。 トレース、メトリクス、ログ、アラーム、および他のリソースヘルス情報を一元管理する機能。アプリケーションのパフォーマンス状況を一気通貫で確認できるため、ボトルネックを特定しやすい。クロスアカウントにも対応。 |
CloudWatch Evidently | 新機能の適用を部分的に行い、利用者の状況をモニタリング・検証する機能。全体適用前に、新機能のパフォーマンス性やリスクを確認できる。また、機能のバリエーションを同時に最大5つ適用し、その中で優れている機能をレコメンドすることもできる。 |
CloudWatch RUM | Webアプリケーションのクライアント側のパフォーマンスデータを、ほぼリアルタイムで現実のユーザセッションから収集・表示する機能。 |
CloudWatch Container Insights | コンテナ関連のメトリクスやログを収集・集計・要約する機能。Amazon ECS、Amazon EKSのいずれでも利用できる。 |
CloudWatch Lambda Insights | Lambdaで実行されるサーバレスアプリケーションのメトリクスとログの収集・集計を行う機能。 |
CloudWatch Contributor Insights | ログを分析して、システムパフォーマンスに影響する要因の上位一覧を提供する機能。 |
CloudWatch Application Insights | アプリケーションのリソースを監視し、データを継続的に分析することで、問題の徴候を検出する機能。 |
今回は以上!