Table of Contents
CloudWatch.
Client
¶A low-level client representing Amazon CloudWatch:
import boto3
client = boto3.client('cloudwatch')
These are the available methods:
can_paginate()
delete_alarms()
describe_alarm_history()
describe_alarms()
describe_alarms_for_metric()
disable_alarm_actions()
enable_alarm_actions()
generate_presigned_url()
get_metric_statistics()
get_paginator()
get_waiter()
list_metrics()
put_metric_alarm()
put_metric_data()
set_alarm_state()
can_paginate
(operation_name)¶Check if an operation can be paginated.
Parameters: | operation_name (string) -- The operation name. This is the same name
as the method name on the client. For example, if the
method name is create_foo , and you'd normally invoke the
operation as client.create_foo(**kwargs) , if the
create_foo operation can be paginated, you can use the
call client.get_paginator("create_foo") . |
---|---|
Returns: | True if the operation can be paginated,
False otherwise. |
delete_alarms
(**kwargs)¶Deletes all specified alarms. In the event of an error, no alarms are deleted.
Request Syntax
response = client.delete_alarms(
AlarmNames=[
'string',
]
)
Parameters: | AlarmNames (list) -- [REQUIRED] A list of alarms to be deleted.
|
---|---|
Returns: | None |
describe_alarm_history
(**kwargs)¶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.
Request Syntax
response = client.describe_alarm_history(
AlarmName='string',
HistoryItemType='ConfigurationUpdate'|'StateUpdate'|'Action',
StartDate=datetime(2015, 1, 1),
EndDate=datetime(2015, 1, 1),
MaxRecords=123,
NextToken='string'
)
Parameters: |
|
---|---|
Return type: | dict |
Returns: | Response Syntax {
'AlarmHistoryItems': [
{
'AlarmName': 'string',
'Timestamp': datetime(2015, 1, 1),
'HistoryItemType': 'ConfigurationUpdate'|'StateUpdate'|'Action',
'HistorySummary': 'string',
'HistoryData': 'string'
},
],
'NextToken': 'string'
}
Response Structure
|
describe_alarms
(**kwargs)¶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.
Request Syntax
response = client.describe_alarms(
AlarmNames=[
'string',
],
AlarmNamePrefix='string',
StateValue='OK'|'ALARM'|'INSUFFICIENT_DATA',
ActionPrefix='string',
MaxRecords=123,
NextToken='string'
)
Parameters: |
|
---|---|
Return type: | dict |
Returns: | Response Syntax {
'MetricAlarms': [
{
'AlarmName': 'string',
'AlarmArn': 'string',
'AlarmDescription': 'string',
'AlarmConfigurationUpdatedTimestamp': datetime(2015, 1, 1),
'ActionsEnabled': True|False,
'OKActions': [
'string',
],
'AlarmActions': [
'string',
],
'InsufficientDataActions': [
'string',
],
'StateValue': 'OK'|'ALARM'|'INSUFFICIENT_DATA',
'StateReason': 'string',
'StateReasonData': 'string',
'StateUpdatedTimestamp': datetime(2015, 1, 1),
'MetricName': 'string',
'Namespace': 'string',
'Statistic': 'SampleCount'|'Average'|'Sum'|'Minimum'|'Maximum',
'Dimensions': [
{
'Name': 'string',
'Value': 'string'
},
],
'Period': 123,
'Unit': 'Seconds'|'Microseconds'|'Milliseconds'|'Bytes'|'Kilobytes'|'Megabytes'|'Gigabytes'|'Terabytes'|'Bits'|'Kilobits'|'Megabits'|'Gigabits'|'Terabits'|'Percent'|'Count'|'Bytes/Second'|'Kilobytes/Second'|'Megabytes/Second'|'Gigabytes/Second'|'Terabytes/Second'|'Bits/Second'|'Kilobits/Second'|'Megabits/Second'|'Gigabits/Second'|'Terabits/Second'|'Count/Second'|'None',
'EvaluationPeriods': 123,
'Threshold': 123.0,
'ComparisonOperator': 'GreaterThanOrEqualToThreshold'|'GreaterThanThreshold'|'LessThanThreshold'|'LessThanOrEqualToThreshold'
},
],
'NextToken': 'string'
}
Response Structure
|
describe_alarms_for_metric
(**kwargs)¶Retrieves all alarms for a single metric. Specify a statistic, period, or unit to filter the set of alarms further.
Request Syntax
response = client.describe_alarms_for_metric(
MetricName='string',
Namespace='string',
Statistic='SampleCount'|'Average'|'Sum'|'Minimum'|'Maximum',
Dimensions=[
{
'Name': 'string',
'Value': 'string'
},
],
Period=123,
Unit='Seconds'|'Microseconds'|'Milliseconds'|'Bytes'|'Kilobytes'|'Megabytes'|'Gigabytes'|'Terabytes'|'Bits'|'Kilobits'|'Megabits'|'Gigabits'|'Terabits'|'Percent'|'Count'|'Bytes/Second'|'Kilobytes/Second'|'Megabytes/Second'|'Gigabytes/Second'|'Terabytes/Second'|'Bits/Second'|'Kilobits/Second'|'Megabits/Second'|'Gigabits/Second'|'Terabits/Second'|'Count/Second'|'None'
)
Parameters: |
|
---|---|
Return type: | dict |
Returns: | Response Syntax {
'MetricAlarms': [
{
'AlarmName': 'string',
'AlarmArn': 'string',
'AlarmDescription': 'string',
'AlarmConfigurationUpdatedTimestamp': datetime(2015, 1, 1),
'ActionsEnabled': True|False,
'OKActions': [
'string',
],
'AlarmActions': [
'string',
],
'InsufficientDataActions': [
'string',
],
'StateValue': 'OK'|'ALARM'|'INSUFFICIENT_DATA',
'StateReason': 'string',
'StateReasonData': 'string',
'StateUpdatedTimestamp': datetime(2015, 1, 1),
'MetricName': 'string',
'Namespace': 'string',
'Statistic': 'SampleCount'|'Average'|'Sum'|'Minimum'|'Maximum',
'Dimensions': [
{
'Name': 'string',
'Value': 'string'
},
],
'Period': 123,
'Unit': 'Seconds'|'Microseconds'|'Milliseconds'|'Bytes'|'Kilobytes'|'Megabytes'|'Gigabytes'|'Terabytes'|'Bits'|'Kilobits'|'Megabits'|'Gigabits'|'Terabits'|'Percent'|'Count'|'Bytes/Second'|'Kilobytes/Second'|'Megabytes/Second'|'Gigabytes/Second'|'Terabytes/Second'|'Bits/Second'|'Kilobits/Second'|'Megabits/Second'|'Gigabits/Second'|'Terabits/Second'|'Count/Second'|'None',
'EvaluationPeriods': 123,
'Threshold': 123.0,
'ComparisonOperator': 'GreaterThanOrEqualToThreshold'|'GreaterThanThreshold'|'LessThanThreshold'|'LessThanOrEqualToThreshold'
},
]
}
Response Structure
|
disable_alarm_actions
(**kwargs)¶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.
Request Syntax
response = client.disable_alarm_actions(
AlarmNames=[
'string',
]
)
Parameters: | AlarmNames (list) -- [REQUIRED] The names of the alarms to disable actions for.
|
---|---|
Returns: | None |
enable_alarm_actions
(**kwargs)¶Enables actions for the specified alarms.
Request Syntax
response = client.enable_alarm_actions(
AlarmNames=[
'string',
]
)
Parameters: | AlarmNames (list) -- [REQUIRED] The names of the alarms to enable actions for.
|
---|---|
Returns: | None |
generate_presigned_url
(ClientMethod, Params=None, ExpiresIn=3600, HttpMethod=None)¶Generate a presigned url given a client, its method, and arguments
Parameters: |
|
---|---|
Returns: | The presigned url |
get_metric_statistics
(**kwargs)¶Gets statistics for the specified metric.
The maximum number of data points returned from a single GetMetricStatistics
request is 1,440, wereas the maximum number of data points that can be queried is 50,850. If you make a request that generates more than 1,440 data points, Amazon CloudWatch returns an error. In such a case, you can alter the request by narrowing the specified time range or increasing the specified period. Alternatively, you can make multiple requests across adjacent time ranges.
Amazon CloudWatch aggregates data points based on the length of the period
that you specify. For example, if you request statistics with a one-minute granularity, Amazon CloudWatch aggregates data points with time stamps that fall within the same one-minute period. In such a case, the data points queried can greatly outnumber the data points returned.
The following examples show various statistics allowed by the data point query maximum of 50,850 when you call GetMetricStatistics
on Amazon EC2 instances with detailed (one-minute) monitoring enabled:
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 .
Request Syntax
response = client.get_metric_statistics(
Namespace='string',
MetricName='string',
Dimensions=[
{
'Name': 'string',
'Value': 'string'
},
],
StartTime=datetime(2015, 1, 1),
EndTime=datetime(2015, 1, 1),
Period=123,
Statistics=[
'SampleCount'|'Average'|'Sum'|'Minimum'|'Maximum',
],
Unit='Seconds'|'Microseconds'|'Milliseconds'|'Bytes'|'Kilobytes'|'Megabytes'|'Gigabytes'|'Terabytes'|'Bits'|'Kilobits'|'Megabits'|'Gigabits'|'Terabits'|'Percent'|'Count'|'Bytes/Second'|'Kilobytes/Second'|'Megabytes/Second'|'Gigabytes/Second'|'Terabytes/Second'|'Bits/Second'|'Kilobits/Second'|'Megabits/Second'|'Gigabits/Second'|'Terabits/Second'|'Count/Second'|'None'
)
Parameters: |
|
---|---|
Return type: | dict |
Returns: | Response Syntax {
'Label': 'string',
'Datapoints': [
{
'Timestamp': datetime(2015, 1, 1),
'SampleCount': 123.0,
'Average': 123.0,
'Sum': 123.0,
'Minimum': 123.0,
'Maximum': 123.0,
'Unit': 'Seconds'|'Microseconds'|'Milliseconds'|'Bytes'|'Kilobytes'|'Megabytes'|'Gigabytes'|'Terabytes'|'Bits'|'Kilobits'|'Megabits'|'Gigabits'|'Terabits'|'Percent'|'Count'|'Bytes/Second'|'Kilobytes/Second'|'Megabytes/Second'|'Gigabytes/Second'|'Terabytes/Second'|'Bits/Second'|'Kilobits/Second'|'Megabits/Second'|'Gigabits/Second'|'Terabits/Second'|'Count/Second'|'None'
},
]
}
Response Structure
|
get_paginator
(operation_name)¶Create a paginator for an operation.
Parameters: | operation_name (string) -- The operation name. This is the same name
as the method name on the client. For example, if the
method name is create_foo , and you'd normally invoke the
operation as client.create_foo(**kwargs) , if the
create_foo operation can be paginated, you can use the
call client.get_paginator("create_foo") . |
---|---|
Raises OperationNotPageableError: | |
Raised if the operation is not
pageable. You can use the client.can_paginate method to
check if an operation is pageable. |
|
Return type: | L{botocore.paginate.Paginator} |
Returns: | A paginator object. |
get_waiter
(waiter_name)¶list_metrics
(**kwargs)¶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.
Request Syntax
response = client.list_metrics(
Namespace='string',
MetricName='string',
Dimensions=[
{
'Name': 'string',
'Value': 'string'
},
],
NextToken='string'
)
Parameters: |
|
---|---|
Return type: | dict |
Returns: | Response Syntax {
'Metrics': [
{
'Namespace': 'string',
'MetricName': 'string',
'Dimensions': [
{
'Name': 'string',
'Value': 'string'
},
]
},
],
'NextToken': 'string'
}
Response Structure
|
put_metric_alarm
(**kwargs)¶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 INSUFFICIENT_DATA
. The alarm is evaluated and its StateValue
is set appropriately. Any actions associated with the StateValue
is then executed.
Request Syntax
response = client.put_metric_alarm(
AlarmName='string',
AlarmDescription='string',
ActionsEnabled=True|False,
OKActions=[
'string',
],
AlarmActions=[
'string',
],
InsufficientDataActions=[
'string',
],
MetricName='string',
Namespace='string',
Statistic='SampleCount'|'Average'|'Sum'|'Minimum'|'Maximum',
Dimensions=[
{
'Name': 'string',
'Value': 'string'
},
],
Period=123,
Unit='Seconds'|'Microseconds'|'Milliseconds'|'Bytes'|'Kilobytes'|'Megabytes'|'Gigabytes'|'Terabytes'|'Bits'|'Kilobits'|'Megabits'|'Gigabits'|'Terabits'|'Percent'|'Count'|'Bytes/Second'|'Kilobytes/Second'|'Megabytes/Second'|'Gigabytes/Second'|'Terabytes/Second'|'Bits/Second'|'Kilobits/Second'|'Megabits/Second'|'Gigabits/Second'|'Terabits/Second'|'Count/Second'|'None',
EvaluationPeriods=123,
Threshold=123.0,
ComparisonOperator='GreaterThanOrEqualToThreshold'|'GreaterThanThreshold'|'LessThanThreshold'|'LessThanOrEqualToThreshold'
)
Parameters: |
|
---|---|
Returns: | None |
put_metric_data
(**kwargs)¶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. It can take up to fifteen minutes for a new metric to appear in calls to the ListMetrics action.
The size of a PutMetricDatarequest is limited to 8 KB for HTTP GET requests and 40 KB for HTTP POST requests.
Warning
Although the Value
parameter accepts numbers of type Double
, Amazon CloudWatch truncates values with very large exponents. Values with base-10 exponents greater than 126 (1 x 10^126) are truncated. Likewise, values with base-10 exponents less than -130 (1 x 10^-130) are also truncated.
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 GetMetricStatistics
.
Request Syntax
response = client.put_metric_data(
Namespace='string',
MetricData=[
{
'MetricName': 'string',
'Dimensions': [
{
'Name': 'string',
'Value': 'string'
},
],
'Timestamp': datetime(2015, 1, 1),
'Value': 123.0,
'StatisticValues': {
'SampleCount': 123.0,
'Sum': 123.0,
'Minimum': 123.0,
'Maximum': 123.0
},
'Unit': 'Seconds'|'Microseconds'|'Milliseconds'|'Bytes'|'Kilobytes'|'Megabytes'|'Gigabytes'|'Terabytes'|'Bits'|'Kilobits'|'Megabits'|'Gigabits'|'Terabits'|'Percent'|'Count'|'Bytes/Second'|'Kilobytes/Second'|'Megabytes/Second'|'Gigabytes/Second'|'Terabytes/Second'|'Bits/Second'|'Kilobits/Second'|'Megabits/Second'|'Gigabits/Second'|'Terabits/Second'|'Count/Second'|'None'
},
]
)
Parameters: |
|
---|---|
Returns: | None |
set_alarm_state
(**kwargs)¶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. This is not a permanent change. The next periodic alarm check (in about a minute) will set the alarm to its actual state.
Request Syntax
response = client.set_alarm_state(
AlarmName='string',
StateValue='OK'|'ALARM'|'INSUFFICIENT_DATA',
StateReason='string',
StateReasonData='string'
)
Parameters: |
|
---|---|
Returns: | None |
The available paginators are:
CloudWatch.Paginator.describe_alarm_history
CloudWatch.Paginator.describe_alarms
CloudWatch.Paginator.list_metrics
CloudWatch.Paginator.
describe_alarm_history
¶paginator = client.get_paginator('describe_alarm_history')
paginate
(**kwargs)¶Creates an iterator that will paginate through responses from CloudWatch.Client.describe_alarm_history()
.
Request Syntax
response_iterator = paginator.paginate(
AlarmName='string',
HistoryItemType='ConfigurationUpdate'|'StateUpdate'|'Action',
StartDate=datetime(2015, 1, 1),
EndDate=datetime(2015, 1, 1),
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
Parameters: |
|
---|---|
Return type: | dict |
Returns: | Response Syntax {
'AlarmHistoryItems': [
{
'AlarmName': 'string',
'Timestamp': datetime(2015, 1, 1),
'HistoryItemType': 'ConfigurationUpdate'|'StateUpdate'|'Action',
'HistorySummary': 'string',
'HistoryData': 'string'
},
],
}
Response Structure
|
CloudWatch.Paginator.
describe_alarms
¶paginator = client.get_paginator('describe_alarms')
paginate
(**kwargs)¶Creates an iterator that will paginate through responses from CloudWatch.Client.describe_alarms()
.
Request Syntax
response_iterator = paginator.paginate(
AlarmNames=[
'string',
],
AlarmNamePrefix='string',
StateValue='OK'|'ALARM'|'INSUFFICIENT_DATA',
ActionPrefix='string',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
Parameters: |
|
---|---|
Return type: | dict |
Returns: | Response Syntax {
'MetricAlarms': [
{
'AlarmName': 'string',
'AlarmArn': 'string',
'AlarmDescription': 'string',
'AlarmConfigurationUpdatedTimestamp': datetime(2015, 1, 1),
'ActionsEnabled': True|False,
'OKActions': [
'string',
],
'AlarmActions': [
'string',
],
'InsufficientDataActions': [
'string',
],
'StateValue': 'OK'|'ALARM'|'INSUFFICIENT_DATA',
'StateReason': 'string',
'StateReasonData': 'string',
'StateUpdatedTimestamp': datetime(2015, 1, 1),
'MetricName': 'string',
'Namespace': 'string',
'Statistic': 'SampleCount'|'Average'|'Sum'|'Minimum'|'Maximum',
'Dimensions': [
{
'Name': 'string',
'Value': 'string'
},
],
'Period': 123,
'Unit': 'Seconds'|'Microseconds'|'Milliseconds'|'Bytes'|'Kilobytes'|'Megabytes'|'Gigabytes'|'Terabytes'|'Bits'|'Kilobits'|'Megabits'|'Gigabits'|'Terabits'|'Percent'|'Count'|'Bytes/Second'|'Kilobytes/Second'|'Megabytes/Second'|'Gigabytes/Second'|'Terabytes/Second'|'Bits/Second'|'Kilobits/Second'|'Megabits/Second'|'Gigabits/Second'|'Terabits/Second'|'Count/Second'|'None',
'EvaluationPeriods': 123,
'Threshold': 123.0,
'ComparisonOperator': 'GreaterThanOrEqualToThreshold'|'GreaterThanThreshold'|'LessThanThreshold'|'LessThanOrEqualToThreshold'
},
],
}
Response Structure
|
CloudWatch.Paginator.
list_metrics
¶paginator = client.get_paginator('list_metrics')
paginate
(**kwargs)¶Creates an iterator that will paginate through responses from CloudWatch.Client.list_metrics()
.
Request Syntax
response_iterator = paginator.paginate(
Namespace='string',
MetricName='string',
Dimensions=[
{
'Name': 'string',
'Value': 'string'
},
],
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
Parameters: |
|
---|---|
Return type: | dict |
Returns: | Response Syntax {
'Metrics': [
{
'Namespace': 'string',
'MetricName': 'string',
'Dimensions': [
{
'Name': 'string',
'Value': 'string'
},
]
},
],
}
Response Structure
|