Amazon Elastic Compute Cloud (Amazon EC2) インスタンスから Amazon CloudWatch メトリックスにメモリとディスクメトリクスを送信したいと考えています。これを行うにはどうすればよいですか?
簡単な説明
デフォルトでは、Amazon EC2 はインスタンスに関連する一連のメトリクスを AWS/EC2 名前空間の CloudWatch に配信します。これには、CPU 使用率、NetWorkIn および NetWorkout メトリクスのセットが含まれます。
注: EC2 は、OS レベルのメモリ使用量またはディスク使用量のメトリクスに関連するメトリクスを提供しません。
これらのメトリクスを検出して、カスタムメトリクスとして CloudWatch に配信するには、統合された CloudWatch Agent をインストールします。次に、Agent 設定ファイルでこれらのメトリクスを定義します。
重要: カスタムメトリクスは、ストレージと API の使用状況に応じて課金されます。
解決策
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
CloudWatch エージェントは、AWS CLI を使用して手動でダウンロードしてインストールすることも、AWS Systems Manager Agent (SSM Agent) と統合することもできます。
注: CloudWatch エージェントは Windows システムと Linux システムの両方でサポートされています。
CloudWatch エージェントをインストールするには、次の手順を使用します。
-
サーバーからメトリクスを収集するエージェントをアクティベートするユーザーまたは IAM ロールを作成します。オプションで、AWS Systems Manager と統合します。この IAM ロールを、エージェントをインストールする EC2 インスタンスにアタッチします。
-
エージェントパッケージをダウンロードし、エージェントパッケージをインストールします。
-
CloudWatch エージェント設定ファイルを作成し、収集するメトリクスを指定します。
次のコード例は、Linux システム上のメモリ使用量とディスク使用量のメトリクスを報告する基本的なエージェント設定ファイルを示しています。
{
"metrics": {
"metrics_collected": {
"mem": {
"measurement": [
"mem_used_percent"
]
},
"disk": {
"measurement": [
"used_percent"
],
"resources": [
"*"
]
}
},
"append_dimensions": {
"InstanceId": "${aws:InstanceId}"
}
}
}
次のコード例は、Windows システム用の基本的なエージェント設定ファイルを示しています。
{
"metrics": {
"metrics_collected": {
"LogicalDisk": {
"measurement": [
"% Free Space"
],
"resources": [
"*"
]
},
"Memory": {
"measurement": [
"% Committed Bytes In Use"
]
}
},
"append_dimensions": {
"InstanceId": "${aws:InstanceId}"
}
}
}
-
EC2 インスタンスでエージェントを開始します。
デフォルトでは、アクティブなエージェントはインスタンスから CloudWatch 内の CWAgent 名前空間にメトリクスが報告されます。問題が発生した場合は、「CloudWatch エージェントのトラブルシューティング 」を参照してください。
関連情報
CloudWatch を使用したインスタンスのモニタリング