Edited at

【AWS】CloudWatchでの監視項目まとめ

More than 3 years have passed since last update.

どうも、iron千葉(((( ;°Д°))))です。 

AWSでは、手っ取り早く監視ができるCloudWatchというマネージドサービスがあります。

オンプレの場合、可用性・ディスク容量等を考慮して監視サーバを導入する必要がります。

これに比べ、AWSで監視を行う場合、例えばEC2を作ったらメトリックス(CPU使用率など)が自動で取得されます。

AWSで監視を行うには、


  • SNSのトピックを作る

  • CloudWatchより、メトリックスを選択し閾値を設定する

のみで、とてもスマートに監視を開始できます。そして、閾値を超えた場合メールが飛んできます

オンプレでの苦労はなんだったのか!

ただし、制限事項もあります。

CloudWatchのデータは2週間保存。それ以前のデータは破棄されるのでご注意ください。それ以前のデータが欲しい場合は、こちらを参照して取得する必要があります。

また、デフォルトで取得できる項目が決まっており、それ以上の情報が欲しい場合は、自分でスクリプトを書いてデータをCloudWatchに飛ばす必要があります。

これをカスタムメトリックスと言います。

本日は、CloudWatchにてデフォルトで取得されるもの、カスタムメトリックスが必要な項目についてまとめます。

対象はEC2,RDS,ELB等、よく使うであろうサービスに絞ってまとめます。


EC2


取得可能な項目


  • CPU使用率

  • CPUクレジット消費数・残数(t2系のインスタンスのバーストできるクレジット)

  • ディスクのread・writeのI/O数、バイト数

  • ネットワークのイン・アウトの使用バイト数

  • システムチェック(AWSホスト側のネットワーク、ハード等の状態と、EC2インスタンスステータスチェック状態)

  • ログ監視


カスタムメトリックスが必要な項目


  • ディスク使用率

  • メモリ使用率

  • swap使用率

  • ping監視

  • プロセス監視

  • ポート監視

  • web監視


EBS


取得可能な項目


  • ディスクのread・writeのI/O数、バイト数

  • read・writeにかかった秒数の合計(例:5分間に1秒のリクエストを700こなした場合、値は700となる)

  • read・writeをしなかった秒数(idle)

  • read・writeのキューの数(負荷などで、書き込み・読み込み待ちになったキュー数)

  • IOPS時の、上限に対する利用パーセンテージ

  • 消費されたIOPS数
    ※EC2で取得できる項目とかぶる箇所がある


カスタムメトリックスが必要な項目


  • ディスクの使用率はEC2側でカスタムメトリックスで取得が必要


ELB


取得可能な項目


  • バックエンドの正常・異常なホスト数(ヘルスチェック成功?失敗?)

  • バックエンドへのリクエスト数

  • バックエンドへのリクエストのレイテンシ

  • ELBが返した、4XX、5XXのエラーコード数

  • バックエンドが返した、2XX、3XX、4XX、5XX

  • バックエンドとの接続失敗した数

  • バックエンドへの保留中のリクエスト、キューが一杯のため拒否したリクエスト


取得できないもの


  • ELBを通過したネットワークの容量

  • ELBのCPU

  • ELBのメモリ
    →そもそもELBは、自動でスケールするため不要な項目


RDS


取得可能な項目


  • リードレプリカ利用時の、マスター側で専有しているバイナリログの容量(バイト)

  • CPU使用率

  • CPUクレジット消費数・残数(t2系のインスタンスのバーストできるクレジット)

  • データベースへの接続数

  • read・writeのキューの数(負荷などで、書き込み・読み込み待ちになったキュー数)

  • 利用可能なメモリ容量(EC2では取得できないがRDSでは取得可能)

  • 利用可能なストレージ容量(EC2では取得できないがRDSでは取得可能)

  • MySQL、マルチAZ利用時のレプリケーションラグの秒数

  • RDSのswap総容量

  • 秒間あたりの書き込み操作数、読み込み操作数

  • 1回の書き込みにかかる平均秒数、1回の読み込みにかかる平均秒数

  • 1回の書き込みにかかる平均バイト数、1回の読み込みにかかる平均バイト数

  • 受信時のネットワークトラフィック(バイト/秒)、送信時のネットワークトラフィック(バイト/秒)


カスタムメトリックスが必要な項目


  • マネージドサービスなのでカスタムメトリックスを利用できない

  • ただし、ログはマネジメントコンソールから確認できる(ログ監視は工夫が必要)

  • RDS障害時はCloudWatchでの監視以外にイベント通知を利用しての監視が可能。様々なイベントの通知を受信できます。


S3


  • メトリクスなし

  • アクセスログは有効にすることで取得できるので、アクセスに関しては自前でログを解析する必要あり

本日は以上です。