Monitoring memory usage in AWS CloudWatch for Windows instance

前端 未结 2 1330
无人及你
无人及你 2021-01-04 01:30

By default, memory usage isn’t monitored by CloudWatch. So I tried to add it to my Windows instance in AWS using these instructions.

This is what I did:

2条回答
  •  一整个雨季
    2021-01-04 02:16

    First, you need to add an IAM role to your instance:

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

    Note that you cannot add a role to an existing instance. So do it before launching. Then you need to configure the EC2Config file (normally) accessible via the following path:

    C:\Program Files\Amazon\Ec2ConfigService\Settings.AWS.EC2.Windows.CloudWatch.json

    You should add the following block to the JSON file:

    ...
    
    {
        "Id": "PerformanceCounter",
        "FullName": "AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch",
        "Parameters": {
            "CategoryName": "Memory",
            "CounterName": "Available MBytes",
            "InstanceName": "",
            "MetricName": "Memory",
            "Unit": "Megabytes",
            "DimensionName": "InstanceId",
            "DimensionValue": "{instance_id}"
        }
    }
    
    ...
    
    {
        "Id": "CloudWatch",
        "FullName": "AWS.EC2.Windows.CloudWatch.CloudWatch.CloudWatchOutputComponent,AWS.EC2.Windows.CloudWatch",
        "Parameters": 
        {
            "AccessKey": "",
            "SecretKey": "",
            "Region": "eu-west-1",
            "NameSpace": "PerformanceMonitor"
        }
    }
    

    Do not forget to restart the EC2Config service on your server after changing the config file. You should be able to get the memory metrics after a couple of minutes in your CloudWatch console. The level of CloudWatch monitoring on your instance should also be set to detailed:

    Update:

    According to the documentation, you can now attach or modify an IAM role to your existing instance.

提交回复
热议问题