这可能是因为使用了相同的命名空间和指标名称。为了解决这个问题,可以使用不同的指标和命名空间来保存不同的数据。下面是一个示例,说明如何在 AWS Lambda 中使用 AWS CloudWatch 和 AWS CLI 来创建和写入自定义指标。
import boto3
cloudwatch = boto3.client('cloudwatch')
def lambda_handler(event, context):
response = cloudwatch.put_metric_data(
Namespace='MyNamespace',
MetricData=[
{
'MetricName': 'Metric1',
'Dimensions': [
{
'Name': 'InstanceId',
'Value': 'i-12345678'
},
],
'Value': 1.0,
'Unit': 'Count'
},
{
'MetricName': 'Metric2',
'Dimensions': [
{
'Name': 'InstanceId',
'Value': 'i-12345678'
},
],
'Value': 2.0,
'Unit': 'Count'
}
]
)
在此示例中,我们将数据写入两个不同的指标 Metric1 和 Metric2。这些指标都使用相同的维度(实例 ID),但使用不同的指标名称。这将确保在 AWS Grafana 中查看这些指标时,每个指标都将显示其自己的数据。