I have an Amazon Lightsail instance. How can I use Amazon CloudWatch Agent to monitor my instance's disk and memory metrics?
Short description
You can use CloudWatch to monitor your Lightsail instance's disk utilization and memory metrics. After setup and configuration, these metrics are available in the CloudWatch console, not in the Lightsail dashboard.
Note: It's a best practice to create a snapshot of your instance as a backup before making changes to your instance.
Resolution
This resolution uses the AWS Command Line Interface. Amazon Linux 2 comes with the AWS CLI installed. For other distributions, you must install and configure the AWS CLI. If you receive errors when running AWS CLI commands, make sure that you’re using the most recent version of the AWS CLI.
Set up CloudWatch Agent to monitor usage on your instance
1. Follow steps 1-4 in Monitoring memory usage in Lightsail instances.
2. Generate the CloudWatch configuration file. The CloudWatch configuration file is a JSON file that specifies the metrics and logs that the agent will collect, including custom metrics. There are two methods for doing this:
Method A: Generate the CloudWatch configuration file manually.
Method B: Generate the CloudWatch configuration file using the wizard.
Method A: Generate the CloudWatch configuration file manually
For instructions, see step 5. Create CloudWatch configuration file to collect memory usage metrics in Monitoring memory usage in Lightsail instances. The example shown is specific to capturing memory usage metrics.
For more information, see Manually create or edit the CloudWatch agent configuration file.
Method B: Generate the CloudWatch configuration file using the wizard
Run the following command:
$ sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
The wizard asks a series of questions. Select your answers based on your specific requirements. To set up instance monitoring, you can select the default answer for all of the questions with the exception of the following:
Are you using EC2 or On-Premises hosts?
1. EC2
2. On-Premises
default choice: [1]:
2
Do you want to turn on StatsD daemon?
1. yes
2. no
default choice: [1]:
2
Do you want to monitor metrics from CollectD?
1. yes
2. no
default choice: [1]:
2
Do you want to monitor cpu metrics per core? Additional CloudWatch charges may apply.
1. yes
2. no
default choice: [1]:
2
Do you want to add ec2 dimensions (ImageId, InstanceId, InstanceType, AutoScalingGroupName) into all of your metrics if the info is available?
1. yes
2. no
2
default choice: [1]:
2
Do you want to monitor any log files?
1. yes
2. no
2
default choice: [1]:
2
Do you want to store the config in the SSM parameter store?
1. yes
2. no
default choice: [1]:
2
3. Follow steps 6-8 in Monitoring memory usage in Lightsail instances.
Note: If you can't see the metrics on the Amazon CloudWatch console, then check the log file at /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log for authentication or credential errors. For more information about the log files and troubleshooting steps, see The CloudWatch Agent won't start.
Viewing metrics in CloudWatch
After completing the preceding steps, wait a few minutes. Then, open the CloudWatch dashboard in the CloudWatch console, switch to the correct Region, and view the Metrics section. View the section labeled CWAgent under Custom Namespaces. The disk_used_percent for root volume xvda1 in the device, fstype, host, and path section appear. Under the host section you can see the memory (RAM) utilization percent for your Lightsail instance.
Related information
Connecting to your Linux or Unix instance in Lightsail
Create IAM users to use with the CloudWatch agent on on-premises servers
Download and configure the CloudWatch agent using the command line
Create the CloudWatch agent configuration file