CloudWatchとは
AWSの監視および管理ツールで、リソースとアプリケーションのパフォーマンスデータを収集・可視化できるサービス
構成要素
CloudWatch Metrics(メトリクス)
AWSサービス(EC2、S3、RDS、Lambdaなど)のパフォーマンスデータを定期的に収集し、時間軸で可視化します
CloudWatch Logs(ログ)
アプリケーションやAWSサービスからのログデータを収集し、保存・管理します
CloudWatch Alarms(アラーム)
メトリクスに基づいて条件を設定し、指定したしきい値を超えると通知を送信したり、特定のアクションをトリガーします
CloudWatch Dashboards(ダッシュボード)
複数のメトリクスを一つの画面で可視化するためのカスタムダッシュボードを作成します
CloudWatch Events(イベント)
AWSサービスで発生する特定のイベントに基づいてアクションを実行するためのルールを設定します
CloudWatch Console(コンソール)
Webインターフェースから、メトリクスの確認、ログの検索、アラームの設定などを行うことができる管理コンソールです
CloudWatch Logs Insights
ログデータの分析ツールで、クエリを使用してログデータを迅速に検索・集計できます
オブザーバビリティとは
システムの未知の問題を発見し、どこで、いつ、何が起こっているのかの原因を特定するのうりょく
モニタリングとの違い
モニタリングは事前に決めた項目を監視し、アラートを発します
主にメトリクスとログが使われます
オブザーバビリティの3つの主要要素
メトリクス
「何が起きているのか?」を把握します
機能
CloudWatch Metrics
具体例
- CPU使用率
- メモリ消費量
- HTTPリクエスト数
ログ
「どこで起きているのか?」を特定します
機能
CloudWatch Logs
具体例
- アプリケーションエラーログ
- リクエストログ
- デバッグログ
トレース
「なぜ発生したのか?」を特定します
機能
AWS X-Ray
具体例
- マイクロサービス間のリクエスト経路
- 処理時間の分析
機能
リアルタイム監視-Metrics
CPU使用率、ディスクI/O、ネットワークトラフィックなどを監視
カスタムメトリクスの作成-Metrics
ユーザーが独自のメトリクスを作成し、データを送信
ログの収集とフィルタリング-Logs
アプリケーションやシステムのログを保存し、特定の条件でフィルタリング
アラームの設定と通知-Alarms
しきい値を超えたときにSNSやLambdaを使って通知・自動対応
異常検知 (Anomaly Detection)-Metrics,Alarms
機械学習を活用し、異常な動作を検出
イベント駆動のアクション-Events
特定のイベントが発生したときにLambda実行やSNS通知をトリガー
スケジュール実行-Events
指定時間にLambda関数やEC2の起動・停止を自動実行
ダッシュボード作成-Dashboards
重要なメトリクスを一画面で可視化し、監視を効率化
ログ分析-Logs Insights
SQLライクなクエリを使用し、ログデータを検索・分析
まとめ
CloudWatchは、AWSリソースとアプリケーションの監視・管理を行うサービスで、メトリクス、ログ、アラーム、イベント、ダッシュボードなどの機能を提供します。オブザーバビリティの観点から、メトリクスで「何が起きているか」、ログで「どこで起きているか」、トレースで「なぜ発生したのか」を分析し、システムの健全性を維持できます