
Пример Python3 скрипта, для получения метрики из AWS CloudWatch. В примере получаем максимальное значение за последнюю минуту и выводим только значение, это необходимо если вы хотите собирать метрики к примеру в Zabbix.
Script:
#!/usr/bin/env python3
import boto3
import datetime
awsRegion = "eu-west-1"
namespace = "AWS/ElastiCache"
metric = "CurrConnections"
statistics = "Maximum"
period = 60 # Seconds
timeRange = 1 # Minutes
client = boto3.client('cloudwatch', region_name=awsRegion)
startTime = (datetime.datetime.utcnow() - datetime.timedelta(minutes=timeRange))
startTime = startTime.strftime("%Y-%m-%dT%H:%M:%S")
endTime = datetime.datetime.utcnow()
endTime = endTime.strftime("%Y-%m-%dT%H:%M:%S")
response = client.get_metric_statistics(
Namespace=namespace,
MetricName=metric,
StartTime=startTime,
EndTime=endTime,
Period=period,
Statistics=[
statistics,
]
)
for cw_metric in response['Datapoints']:
print(cw_metric['Maximum'])