You can register Amazon Elastic Compute Cloud (EC2) and Amazon Relational Database Service (RDS) resources to collect system health and performance metrics. The following are the steps required to register Amazon Web Services (AWS) resources:
- Prepare AWS for monitoring.
- Register AWS for monitoring.
- Tag AWS resources for monitoring.
Prepare AWS for monitoring
To prepare Amazon Web Services (AWS) for monitoring, complete these steps:
- Create an AWS Identity and Access Management (IAM) user for ArcGIS Monitor.
- Create an access key ID and secret access key for the IAM account.
- Add the following AWS managed policies to the IAM account:
- AmazonEC2ReadOnlyAccess
- AmazonRDSReadOnlyAccess
- CloudWatchReadOnlyAccess
- Optionally, if you already have an installation of ArcGIS Monitor Server, install ArcGIS Monitor Agent on an EC2 instance that belongs to the same AWS account as the IAM account and register Monitor Agent with Monitor Server.
This reduces network latency and simplifies access restrictions; however, it isn't required to monitor AWS resources.
You can now register AWS for monitoring.
Register AWS for monitoring
You must register AWS to monitor its resources. To register AWS for monitoring, complete these steps:
- Access ArcGIS Monitor, if necessary.
The Home page appears.
- Click Monitoring.
The Monitoring page appears with a list of components sorted alphabetically by component name.
Tip:
Click Labels to filter the list using labels, click Sort to change the sorting method, click Filter to create a query and filter the list, click Hide to choose which columns to show and hide, and click the categories at the side of the page to filter the list by the chosen category. You can also search for specific components by typing a keyword in the Search by component name or address text box.
- Click Register Component.
The Register Component wizard appears.
Note:
If you don't have sufficient privileges, the Register Component button is not available.
- Choose the ArcGIS Monitor Server or ArcGIS Monitor Agent machine that has network access to the component that you want to register and click Next.
The Component Type page appears.
- Choose Amazon Web Services under Cloud and click Next.
The Component Details page appears.
- Type a name for the component in the Component Name text box.
- Optionally, type a description for the component in the Description text box.
- Optionally, click the Labels drop-down arrow and choose the labels that you want to apply to the component.
Tip:
If the label that you want to add doesn't exist, type the name of the label in the Labels text box and click Add Label to add the label and apply it to the component.
- Click Next.
The Connection page appears.
- Provide the following IAM authentication information in the Connection section:
- Click Register Component.
The component is added to the list of monitored components on the Monitoring page.
You can now tag AWS resources for monitoring.
Tag AWS resources for monitoring
Monitor interacts with the AWS catalog to obtain a list of EC2 and RDS instances and leverages Amazon CloudWatch to obtain metrics.
Caution:
Amazon charges a fee for certain features of CloudWatch. Refer to CloudWatch Pricing for more information.
To monitor EC2 and RDS instances, you must tag each resource that you want to monitor with the following:
- Key—arcgis:monitoring
- Value—true
Note:
The tag's key and value are case sensitive.
Elastic Block Store (EBS) volumes that are attached to tagged EC2 and RDS instances are automatically monitored. Tagged EC2 and RDS instances appear as Host components and EBS resources appear as Storage subcomponents on the Monitoring page.
Note:
It may take up to 15 minutes for changes to tagged EC2, RDS, and EBS resources to appear in Monitor.
Once AWS resources have been tagged for monitoring, you can configure alert rules and add them to collections.
Note:
Other software component types, such as ArcGIS software and databases, must be registered individually as their metrics can't be acquired through CloudWatch.
Observers
The following is a list of observers that are responsible for collecting attribute and metric data:
Observer name | Description |
---|---|
Discover | The Discover observer scans for changes and manages attribute data across the AWS account. The default interval for this observer is set to 15 minutes; however, it can be configured to run at longer intervals since changes to the underlying configuration are expected to be infrequent. |
Metrics | The Metrics observer collects metric data for monitored resources across the AWS account. The default interval for this observer is set to 5 minutes to align with the CloudWatch basic monitoring interval. The interval can be set to run at shorter intervals as necessary if your organization subscribes to CloudWatch detailed monitoring. |
Collected attributes
The following sections list the attributes that are collected for AWS resources.
EC2 and RDS resources
The following is a list of the attributes that are collected for EC2 and RDS resources:
Attribute name | Description | Data type |
---|---|---|
Class | The resource's instance type. | String |
CPU Cores Logical | The CPU's total number of logical cores. | Integer |
CPU Cores Physical | The CPU's total number of physical cores. | Integer |
CPU Name | The CPU name and model information. | String |
CPU Speed | The speed of the CPU. | Float |
Detailed Monitoring | Specifies if detailed monitoring is enabled for the resource. | Boolean |
Location | The AWS availability zone. | String |
Memory Total | The resource's total amount of memory (RAM). | Float |
Network Interface ID | The ID of the resource's network interface. | String |
Network Speed | The speed of the network. The network speed is displayed as 1000 Mbps. | Integer |
Server Region | The AWS region in which the resource resides. | String |
System State | The status of the resource (available, running, or stopped). | String |
Use Boundary Metrics | Specifies if the resource uses boundary metrics. | Boolean |
Version | The resource's platform details (Windows or Linux). RDS instances are displayed as Linux. | String |
EBS resources
The following is a list of attributes that are collected for EBS resources:
Attribute name | Description | Data type |
---|---|---|
Detailed Monitoring | Specifies if detailed monitoring is enabled for the instance. | Boolean |
IOPS | The number of input/output operations per second. | Integer |
Instance ID | The ID of the instance to which the volume belongs. | String |
Memory Total | The size of the volume. | Float |
Server Region | The AWS region in which the instance resides. | String |
Volume ID | The ID of the volume. | String |
Volume State | The state of the volume (ok, warning, impaired, or insufficient data). | String |
Volume Type | The EBS volume type. | String |
Collected metrics
The following sections list metrics that are collected for EC2, RDS, and EBS resources.
EC2 and RDS metrics
The following is a list of metrics that are collected for EC2 and RDS resources:
Metric name | Description | Data type |
---|---|---|
CPU Utilized | The proportion of CPU resources in use. Values approaching 100 may indicate that more resources are needed to handle workload. | Float |
Network Incoming | The rate of network data received. | Float |
Network Outgoing | The rate of network data sent. | Float |
EBS metrics
The following is a list of metrics that are collected for EBS resources that are associated with tagged EC2 and RDS resources:
Metric name | Description | Data type |
---|---|---|
Storage Read Rate | The number of disk reads per second. | Float |
Storage Write Rate | The number of disk writes per second. | Float |
Optional metrics
The following metrics can also be collected by installing Amazon CloudWatch agent on your EC2 instances:
Metric name | Description | Data type |
---|---|---|
Memory Available | The total amount of physical memory. | Float |
Memory Used | The amount of memory in use. | Float |
Memory Utilized | The proportion of memory in use. Values approaching 100 may indicate that more resources are necessary to handle workload. | Float |
There may be additional CloudWatch charges associated with collecting these optional metrics. Refer to CloudWatch Pricing for more information.
Enable optional metrics
To enable optional metrics using CloudWatch agent, complete these steps:
- Install CloudWatch agent on the EC2 resource on which you want to enable optional metrics.
Note:
There may be additional CloudWatch charges associated with collecting optional metrics. Refer to CloudWatch Pricing for more information.
- Run amazon-cloudwatch-agent-config-wizard.exe located in the CloudWatch agent installation location to create a configuration file.
- Choose the following options when prompted:
Configuration option Value Are you using EC2 or On-Premises hosts?
EC2
Do you want to turn on StatsD daemon?
No
Do you want to monitor metrics from CollectD?
No
Do you want to monitor any host metrics? for example CPU, memory, and so on
Yes
Do you want to monitor cpu metrics per core?
Yes
Do you want to add ec2 dimensions (ImageId, InstanceId, InstanceType, AutoScalingGroupName) into all of your metrics if the info is available?
Yes
Do you want to aggregate ec2 dimensions (InstanceId)?
Yes
Would you like to collect your metrics at high resolution (sub-minute resolution)? This enables sub-minute resolution for all metrics, but you can customize for specific metrics in the output json file.
60s
Which default metrics config do you want?
Basic
Do you want to monitor any customized log files?
No
Do you want to monitor any Windows event log?
No
The amazon-cloudwatch-agent-schema.json configuration file is written to the CloudWatch agent installation directory. Do not modify the CloudWatch agent predefined metric sets in the configuration file.
Optional metrics are collected and automatically appear in Monitor according to the Metrics observer's configured interval.
Default alert rules
The following is a list of default alert rules that are configured for EC2 and RDS resources:
Metric name | Aggregation | Operator | Info threshold | Warning threshold | Critical threshold | Samples |
---|---|---|---|---|---|---|
CPU Utilized | Average | Is greater than | — | 75 | 90 | 3 |
Memory Utilized | Average | Is greater than | — | 75 | 90 | 3 |