Insight Horizon
science discoveries /

Getting metrics from Amazon CloudWatch — Boto3 Docs 1.18.0 documentation

This Python example shows you how to:

  • Get a list of published CloudWatch metrics
  • Publish data points to CloudWatch metrics

The scenario

Metrics are data about the performance of your systems. You can enable detailed monitoring of some resources, such as your Amazon CloudWatch instances, or your own application metrics.

In this example, Python code is used to get and send CloudWatch metrics data. The code uses the AWS SDK for Python to get metrics from CloudWatch using these methods of the CloudWatch client class:

For more information about CloudWatch metrics, see Using Amazon CloudWatch Metrics in theAmazon CloudWatch User Guide.

All the example code for the Amazon Web Services (AWS) SDK for Python is available here on GitHub.

Prerequisite tasks

To set up and run this example, you must first configure your AWS credentials, as described in Quickstart.

List metrics

List the metric alarm events uploaded to CloudWatch Logs.

The example below shows how to:

For more information about paginators see, Paginators

Example

import boto3# Create CloudWatch clientcloudwatch = boto3.client('cloudwatch')# List metrics through the pagination interfacepaginator = cloudwatch.get_paginator('list_metrics')for response in paginator.paginate(Dimensions=[{'Name': 'LogGroupName'}], MetricName='IncomingLogEvents', Namespace='AWS/Logs'): print(response['Metrics'])

Publish custom metrics

Publish 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 ListMetrics.

The example below shows how to:

Example

import boto3# Create CloudWatch clientcloudwatch = boto3.client('cloudwatch')# Put custom metricscloudwatch.put_metric_data( MetricData=[ { 'MetricName': 'PAGES_VISITED', 'Dimensions': [ { 'Name': 'UNIQUE_PAGES', 'Value': 'URLS' }, ], 'Unit': 'None', 'Value': 1.0 }, ], Namespace='SITE/TRAFFIC')