python - 使用 AWS Cloudwatch 代理和 Python 记录自定义指标
问题描述
我们使用 Python 将自定义指标发送到 AWS(请参阅下面的现有代码),并单独使用AWS CloudWatch 代理为我们的 EC2 机器发送指标。但是,我们希望停止通过 boto 客户端发送自定义指标,而是使用 AWS CloudWatch 代理发送它们。
我找到了有关如何从StatsD和collectd发送自定义指标的详细信息,但不清楚如何发送您自己的自定义指标。我猜我们必须以类似的数据格式将我们的指标导出到其中之一,但目前尚不清楚如何做到这一点。总之,我们需要:
- 以正确的格式将 Python 中的指标导出到日志文件
- 更新 AWS CloudWatch 代理以读取这些日志文件并上传指标
有没有人有一个涵盖这个的例子?
现有代码
import boto3
cloudwatch = boto3.client(
service_name="cloudwatch",
region_name=env["AWS_DEPLOYED_REGION"],
api_version="2010-08-01",
)
cloudwatch.put_metric_data(
Namespace="myNameSpace",
MetricData=[
{
"MetricName": "someName",
"Dimensions": [
{"Name": "Stage", "Value": "..."},
{"Name": "Purpose", "Value": "..."},
],
"Values": values,
"StorageResolution": 60,
"Unit": "someUnit",
},
],
)