AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.
CloudWatch alarms send notifications or automatically make changes to the resources you are monitoring based on rules that you define. For example, you can monitor the CPU usage and disk reads and writes of your Amazon Elastic Compute Cloud (Amazon EC2) instances and then use this data to determine whether you should launch additional instances to handle increased load. You can also use this data to stop under-used instances to save money.
In addition to monitoring the built-in metrics that come with AWS, you can monitor your own custom metrics. With CloudWatch, you gain system-wide visibility into resource utilization, application performance, and operational health.
Namespace: Amazon.CloudWatch
Assembly: AWSSDK.dll
Version: (assembly version)
public interface IAmazonCloudWatch IDisposable
The IAmazonCloudWatch type exposes the following members
Name | Description | |
---|---|---|
DeleteAlarms(DeleteAlarmsRequest) | Deletes all specified alarms. In the event of an error, no alarms are deleted. | |
DeleteAlarmsAsync(DeleteAlarmsRequest, CancellationToken) | Initiates the asynchronous execution of the DeleteAlarms operation. | |
DescribeAlarmHistory() |
Retrieves history for the specified alarm. Filter alarms by date range or item type.
If an alarm name is not specified, Amazon CloudWatch returns histories for all of
the owner's alarms.
|
|
DescribeAlarmHistory(DescribeAlarmHistoryRequest) |
Retrieves history for the specified alarm. Filter alarms by date range or item type.
If an alarm name is not specified, Amazon CloudWatch returns histories for all of
the owner's alarms.
|
|
DescribeAlarmHistoryAsync(DescribeAlarmHistoryRequest, CancellationToken) | Initiates the asynchronous execution of the DescribeAlarmHistory operation. | |
DescribeAlarms() | Retrieves alarms with the specified names. If no name is specified, all alarms for the user are returned. Alarms can be retrieved by using only a prefix for the alarm name, the alarm state, or a prefix for any action. | |
DescribeAlarms(DescribeAlarmsRequest) | Retrieves alarms with the specified names. If no name is specified, all alarms for the user are returned. Alarms can be retrieved by using only a prefix for the alarm name, the alarm state, or a prefix for any action. | |
DescribeAlarmsAsync(DescribeAlarmsRequest, CancellationToken) | Initiates the asynchronous execution of the DescribeAlarms operation. | |
DescribeAlarmsForMetric(DescribeAlarmsForMetricRequest) | Retrieves all alarms for a single metric. Specify a statistic, period, or unit to filter the set of alarms further. | |
DescribeAlarmsForMetricAsync(DescribeAlarmsForMetricRequest, CancellationToken) | Initiates the asynchronous execution of the DescribeAlarmsForMetric operation. | |
DisableAlarmActions(DisableAlarmActionsRequest) | Disables actions for the specified alarms. When an alarm's actions are disabled the alarm's state may change, but none of the alarm's actions will execute. | |
DisableAlarmActionsAsync(DisableAlarmActionsRequest, CancellationToken) | Initiates the asynchronous execution of the DisableAlarmActions operation. | |
EnableAlarmActions(EnableAlarmActionsRequest) | Enables actions for the specified alarms. | |
EnableAlarmActionsAsync(EnableAlarmActionsRequest, CancellationToken) | Initiates the asynchronous execution of the EnableAlarmActions operation. | |
GetMetricStatistics(GetMetricStatisticsRequest) |
Gets statistics for the specified metric.
The maximum number of data points that can be queried is 50,850, whereas the maximum
number of data points returned from a single
Amazon CloudWatch aggregates data points based on the length of the
The following examples show various statistics allowed by the data point query maximum
of 50,850 when you call
For information about the namespace, metric names, and dimensions that other Amazon Web Services products use to send metrics to CloudWatch, go to Amazon CloudWatch Metrics, Namespaces, and Dimensions Reference in the Amazon CloudWatch Developer Guide. |
|
GetMetricStatisticsAsync(GetMetricStatisticsRequest, CancellationToken) | Initiates the asynchronous execution of the GetMetricStatistics operation. | |
ListMetrics() |
Returns a list of valid metrics stored for the AWS account owner. Returned metrics
can be used with GetMetricStatistics to obtain statistical data for a given
metric.
NextToken values with subsequent ListMetrics
operations. ListMetrics
action. Statistics about the metric, however, are available sooner using GetMetricStatistics.
|
|
ListMetrics(ListMetricsRequest) |
Returns a list of valid metrics stored for the AWS account owner. Returned metrics
can be used with GetMetricStatistics to obtain statistical data for a given
metric.
NextToken values with subsequent ListMetrics
operations. ListMetrics
action. Statistics about the metric, however, are available sooner using GetMetricStatistics.
|
|
ListMetricsAsync(ListMetricsRequest, CancellationToken) | Initiates the asynchronous execution of the ListMetrics operation. | |
PutMetricAlarm(PutMetricAlarmRequest) |
Creates or updates an alarm and associates it with the specified Amazon CloudWatch
metric. Optionally, this operation can associate one or more Amazon Simple Notification
Service resources with the alarm.
When this operation creates an alarm, the alarm state is immediately set to StateValue is left unchanged.
If you have read/write permissions for Amazon CloudWatch but not for Amazon EC2, you can still create an alarm but the stop or terminate actions won't be performed on the Amazon EC2 instance. However, if you are later granted permission to use the associated Amazon EC2 APIs, the alarm actions you created earlier will be performed. For more information about IAM permissions, see Permissions and Policies in Using IAM. If you are using an IAM role (e.g., an Amazon EC2 instance profile), you cannot stop or terminate the instance using alarm actions. However, you can still see the alarm state and perform any other actions such as Amazon SNS notifications or Auto Scaling policies. If you are using temporary security credentials granted using the AWS Security Token Service (AWS STS), you cannot stop or terminate an Amazon EC2 instance using alarm actions. |
|
PutMetricAlarmAsync(PutMetricAlarmRequest, CancellationToken) | Initiates the asynchronous execution of the PutMetricAlarm operation. | |
PutMetricData(PutMetricDataRequest) |
Publishes metric data points to Amazon CloudWatch. Amazon CloudWatch associates the
data points with the specified metric. If the specified metric does not exist, Amazon
CloudWatch creates the metric. When Amazon CloudWatch creates a metric, it can take
up to fifteen minutes for the metric to appear in calls to the ListMetrics
action.
Each Value parameter accepts numbers of type Double ,
Amazon CloudWatch rejects values that are either too small or too large. Values must
be in the range of 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base
2). In addition, special values (e.g., NaN, +Infinity, -Infinity) are not supported.
Data that is timestamped 24 hours or more in the past may take in excess of 48 hours
to become available from submission time using |
|
PutMetricDataAsync(PutMetricDataRequest, CancellationToken) | Initiates the asynchronous execution of the PutMetricData operation. | |
SetAlarmState(SetAlarmStateRequest) |
Temporarily sets the state of an alarm. When the updated StateValue
differs from the previous value, the action configured for the appropriate state is
invoked. For example, if your alarm is configured to send an Amazon SNS message when
an alarm is triggered, temporarily changing the alarm's state to ALARM will
send an Amazon SNS message. This is not a permanent change. The next periodic alarm
check (in about a minute) will set the alarm to its actual state. Because the alarm
state change happens very quickly, it is typically only visibile in the alarm's History
tab in the Amazon CloudWatch console or through DescribeAlarmHistory .
|
|
SetAlarmStateAsync(SetAlarmStateRequest, CancellationToken) | Initiates the asynchronous execution of the SetAlarmState operation. |
This example shows how to get statistics for a metric.
var client = new AmazonCloudWatchClient(); var dimension = new Dimension { Name = "InstanceType", Value = "t1.micro" }; var request = new GetMetricStatisticsRequest { Dimensions = new List<Dimension>() { dimension }, EndTime = DateTime.Today, MetricName = "CPUUtilization", Namespace = "AWS/EC2", // Get statistics by day. Period = (int)TimeSpan.FromDays(1).TotalSeconds, // Get statistics for the past month. StartTime = DateTime.Today.Subtract(TimeSpan.FromDays(30)), Statistics = new List<string>() { "Minimum" }, Unit = StandardUnit.Percent }; var response = client.GetMetricStatistics(request); if (response.Datapoints.Count > 0) { foreach (var point in response.Datapoints) { Console.WriteLine(point.Timestamp.ToShortDateString() + " " + point.Minimum + "%"); } }
.NET Framework:
Supported in: 4.5, 4.0, 3.5
.NET for Windows Store apps:
Supported in: Windows 8.1, Windows 8
.NET for Windows Phone:
Supported in: Windows Phone 8.1, Windows Phone 8