ココナラでAWS構築支援をさせていただき1年以上経ちました。お問合せの中でもAWS環境で構築したシステムのインフラ運用や監視について質問されることが多いです。特にCloudWatchを使って何を監視すればよいのかを質問されることが多いです。今回は、AWS環境下のインフラ監視項目でよく使うメトリクスなどをご紹介します。
CloudWatch監視メトリクスまとめ
死活監視
StatusCheckFailed_Instance
最近 1 分間にインスタンスがインスタンスステータスチェックに成功したかどうかを報告します。EC2インスタンスの死活監視として利用します。
StatusCheckFailed_System
最近 1 分間にインスタンスが システムステータスチェックに成功したかどうかを報告します。EC2インスタンスの死活監視として利用します。
UnHealthyHostCount
ALBのメトリクスで、異常と見なされるターゲットの数をカウントします。ロードバランサーの下に複数のEC2サーバがある場合などは、サーバ全てが異常なのかどうかの切り分けに役立ちます。
性能監視
CPUUtilization
EC2サーバのメトリクス。CPU使用率。閾値を70%~90%に設定して監視します。
disk_used_percent
EC2サーバのメトリクス。ディスク使用率。閾値を70%~90%に設定して監視します。
mem_used_percent
EC2サーバのメトリクス。メモリ使用率。閾値を70%~90%に設定して監視します。
プロセス監視
procstat_lookup_pid_count
監視したいアプリケーションのプロセスを設定する。WEBサービスであればhttpdやnginxなどのプロセスを監視する。
WEBエラー監視
HTTPCode_Target_2XX_Count,HTTPCode_Target_3XX_Count, HTTPCode_Target_4XX_Count, HTTPCode_Target_5XX_Count
ターゲットによって生成された HTTP 応答コードの数をカウントします。ロードバランサーによって生成される応答コードは含まれません。4xx系または5xx系のカウントを監視することが多いです。
ログ監視
一般的なインフラサーバのログ監視と監視項目は同様です。EC2の場合は、CloudWatch logsのエージェントをEC2サーバにインストールしてmessagesやアプリケーションログ、アクセスログなどを取得して監視します。
まとめ
AWS環境下のインフラ運用で監視する代表的なメトリクスをご紹介しました。死活監視、性能監視は必須となり、あとはシステム要件に合わせて監視を追加するようなイメージです。
AWSのメトリクスはデフォルトでは取得できず、カスタムメトリクスとしてエージェントのインストールなどが必要になります。経験の無い方だと、カスタムメトリクスの設定に手間取るかもしれません。クラウド部ではココナラにてCloudWatchの監視設定代行を承っておりますので、お気軽にお問合せください。