Collecting EC2 instance metrics using the CloudWatch agent


You can use the CloudWatch agent to collect the system-level metrics from your AWS EC2 instances. Custom metrics are required if you want to collect metric data at a resolution that is lower than 5 minutes. The CloudWatch agent collects these metrics and sends them to Amazon CloudWatch. These metrics are useful for investigating the resource related issues that might occur in your AWS cloud environment.

To create the IAM role for an administrator to save an agent configuration file to Systems Manager Parameter Store

The details are as follows:

  1. Install, configure, and start the CloudWatch Agent
    1. Create IAM roles and users. These roles and users permit the CloudWatch agent to send metrics to CloudWatch. For information, see Create IAM Roles and Users for Use With CloudWatch Agent.

    2. Install the CloudWatch agent on the EC2 instances. For information, see Getting Started: Installing the CloudWatch Agent on Your First Instance.

    3. Verify that the CloudWatch agent service is up and running:
      • (Windows) Open Windows services, and check whether the service is running.
      • (Linux) Run this command: sudo /bin/systemctl status amazon-cloudwatch-agent.service
    4. Verify that the CloudWatch agent is started:
      • (Windows) <agent_installation_directory_path>\amazon-cloudwatch-agent-ctl -m ec2 -a status
        For example, C:\Program Files\Amazon\AmazonCloudWatchAgent\bin\amazon-cloudwatch-agent-ctl -m ec2 -a status
      • (Linux) <agent_installation_directory_path>/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status
        For example, sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status
    5. Download the attached agent configuration file that contains the metrics to be collected by the agent.
      1. Log in to the EC2 instance.
      2. Download the attached json file.
      3. Rename the file as amazon-cloudwatch-agent and save it at the following location:
        • (Windows) AmazonCloudWatchAgent\bin
        • (Linux) amazon-cloudwatch-agent/bin
    6. Run the following command to start data collection:

      • (Windows) <agent_installation_directory_path>\amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:C:\Program Files\Amazon\AmazonCloudWatchAgent\bin\amazon-cloudwatch-agent.json -s
        For example, C:\Program Files\Amazon\AmazonCloudWatchAgent\bin\amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:C:\Program Files\Amazon\AmazonCloudWatchAgent\bin\amazon-cloudwatch-agent.json -s
      • (Linux) <agent_installation_directory_path>/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent.json -s
        For example, sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent.json -s

      The agent starts collecting metrics and data from EC2 instances and sends them to CloudWatch.

    You can create your own agent configuration file and use it to start the agent on all your EC2 instances. For more information, see Installing CloudWatch Agent on Additional Instances Using Your Agent Configuration.

    To troubleshoot issues with the CloudWatch agent, see Troubleshooting the CloudWatch Agent.

  2. Configure and run the connector. For information, see Amazon-Web-Services-connector

The following tables lists the metrics provided by the CloudWatch agent that the connector collects:

BMC Helix Cloud Cost metric

Unit

AWS metric

NET_TRANSFER_RATE

byte/sec

Derived
Disk Read Bytes + Disk Write Bytes
(Average, Bytes)

DISK_TRANSFER_RATE

byte/sec

Derived
Network In + Network Out
(Average, Bytes)

CPU_SIZE

cores

CPUOptions.CoreCount 


CPU_USED

cores fraction

Derived
CPU_SIZE x CPU_UTIL

CPU_UTIL

%

CPUUtilization

MEMORY_SIZE

bytes

mem_total

MEMORY_USED

ytes

Derived
mem_used
mem_total = mem_free- (mem_buffered+ mem_cached)


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*