Skip to main content

Memonitor EC2 instance Windows ke Amazon CloudWatch

Tentu! Berikut adalah panduan lengkap untuk menginstall dan mengkonfigurasi CloudWatch Agent di EC2 Windows, lengkap dengan file .json untuk monitoring CPU, RAM, dan Disk usage:


✅ 1. Install CloudWatch Agent di Windows

A. Download dan Install

  1. Login ke Windows EC2 instance (RDP)

  2. Download agen CloudWatch dari AWS:
    https://s3.amazonaws.com/amazoncloudwatch-agent/windows/amd64/latest/AmazonCloudWatchAgent.zip

  3. Extract dan jalankan install.ps1 dengan PowerShell (Run as Administrator):

cd "C:\path\to\extracted\AmazonCloudWatchAgent"
.\install.ps1

Agent akan diinstal ke: C:\Program Files\Amazon\AmazonCloudWatchAgent


✅ 2. Buat File Konfigurasi CloudWatch Agent

File: C:\Program Files\Amazon\AmazonCloudWatchAgent\config.json
{
  "agent": {
    "metrics_collection_interval": 60,
    "logfile": "C:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log",
    "run_as_user": "Administrator"
  },
  "metrics": {
    "metrics_collected": {
      "LogicalDisk": {
        "measurement": [
          "% Free Space"
        ],
        "metrics_collection_interval": 300,
        "resources": [
          "*"
        ]
      },
      "Memory": {
        "measurement": [
          "% Committed Bytes In Use"
        ],
        "metrics_collection_interval": 300
      },
      "Processor": {
        "measurement": [
          "% Processor Time"
        ],
        "metrics_collection_interval": 300,
        "resources": [
          "_Total"
        ]
      }
    },
    "append_dimensions": {
      "InstanceId": "${aws:InstanceId}"
    }
  }
}

✅ 3. Jalankan CloudWatch Agent di Windows

Buka PowerShell sebagai Administrator, lalu jalankan:

cd "C:\Program Files\Amazon\AmazonCloudWatchAgent"
.\amazon-cloudwatch-agent-ctl.ps1 -a fetch-config -m ec2 -c file:config.json -s

Agent akan mulai mengirimkan data ke CloudWatch setiap 300 detik atau 5 menit.


✅ 4. IAM Role dan Permissions

Pastikan instance Windows memiliki IAM Role dengan policy berikut:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:PutMetricData",
        "ec2:DescribeTags",
        "logs:PutLogEvents",
        "logs:CreateLogGroup",
        "logs:CreateLogStream"
      ],
      "Resource": "*"
    }
  ]
}

✅ 5. Metrik yang akan muncul di CloudWatch

Dengan konfigurasi ini, kamu akan mendapatkan:

Metrik CloudWatch Arti
% Processor Time Penggunaan CPU
% Committed Bytes In Use Penggunaan RAM
% Free Space Sisa ruang disk (per drive)

Namespace yang digunakan adalah CWAgent.


✅ 6. Buat Alarm CloudWatch via Webhook

Setelah metrik masuk, kamu bisa buat alarm seperti sebelumnya untuk trigger webhook jika:

  • CPU > 80%

  • RAM > 80%

  • Disk > 80%

Jika kamu ingin saya bantu buatkan skrip alarm-nya atau JSON template-nya, tinggal bilang. Juga kalau kamu ingin mengirim ke Webhook Slack/Discord/Microsoft Teams — saya bisa bantu format payload-nya.


Apakah kamu ingin saya bantu buatkan alarm untuk Windows EC2 ini juga? Atau ingin integrasi webhook spesifik (Slack, Discord, dll)?