サービス

AWS|AWSのCloudWatchについてまとめました【解説】

  • Amazon CloudWatchは、たとえばEC2インスタンス、RDSインスタンス、DynamoDBテーブルなどの各インスタンスの現在の状態、情報をモニタリングするサービス。
  • CloudWatchは、標準メトリクスという、AWSが管理している範囲の情報を、AWSユーザー側での追加の設定なしで自動的に収集している。

CloudWatchの特徴

標準(組み込み)メトリクスの収集、可視化

  • 標準メトリクスは、使用するサービスによって取得される情報が異なる。
    ※メトリクスとは、あるデータを収集して、そのままの形ではなく、計算や分析を加えてわかりやすいデータ(数値)に変換したもの
  • EC2では、CPU使用率や、ハードウェアやネットワークのステータス情報が標準メトリクスとして収集される。
  • RDSでは、EC2の場合は標準メトリクスに含まれなかった、メモリの情報やディスク使用量の情報などが含まれている。RDSではOSもAWSが提供している範囲の情報なので収集されている。

カスタムメトリクスの収集、可視化

  • 標準メトリクスとして収集されない情報は、CloudWatchのPutMetricData APIを使用してCloudWatchへカスタムメトリクスとして書き込むことができる。
  • CloudWatchへメトリクスを書き込むプログラムはCloudWatchエージェントとして提供されている。
  • たとえばEC2では、メモリやアプリケーションのステータスなどOS以上の範囲、およびAWSユーザーがコントロールしている範囲については標準メトリクスとしては収集されないが、CloudWatchエージェントで取得できる。

ログの収集

  • CloudWatchにはメトリクスだけでなく、ログを収集する機能もある。
  • CloudWatch Logsでは、EC2のアプリケーションのログや、Lambdaのログ、VPC Flow Logsなどを収集することができる。
  • EC2では、カスタムメトリクス同様にCloudWatchエージェントをインストールして少しの設定をすることでCloudWatch Logsへ書き出せる。
  • CloudWatch LogsによりEC2をよりステートレスにできる。
  • CloudWatch Logsは文字列のフィルタリング結果をメトリクスとして扱える。

アラーム

  • CloudWatchでは、各サービスから収集したメトリクス値に対してアラームを設定することができる。
  • アラームを設定することにより、モニタリング結果に基づく運用を自動化できる。

アラームの設定例

  • EC2のCPU使用率が10分間、80%を上回っているとき
  • ログに「Out of Memory」という文字列が5分間で2回出現したとき
  • RDSのディスク空き容量が残り10GB未満になって5分間そのままのとき

保存期間について

メトリクス

メトリクスの保存期間は以下。この期間を越えたメトリクスは消去される。これ以上にわたってデータ分析などに使用する場合は、S3などに保存する。

60秒未満のデータポイント(高分解能力カスタムメトリクス)3時間
1分(詳細モニタリング)のデータポイント15日間
5分(標準)のデータポイント63日間
1時間のデータポイント455日間

CloudWatch Logs

CloudWatch Logsには任意の保存期間を設定できる。消去しないことも可能。

AWS関連の記事を以下にまとめました。ぜひご覧ください!