gpt4 book ai didi

amazon-cloudwatch - 使用 CDK : how do I hide metrics 部署 AWS Cloudwatch 仪表板

转载 作者:行者123 更新时间:2023-12-05 03:42:07 25 4
gpt4 key购买 nike

我有一个自定义指标,我将更新推送到我的代码中。在 CDK 中,我从这个自定义指标创建了一个派生指标。我希望派生指标显示在仪表板中,但隐藏原始指标。我怎样才能做到这一点?

这是我成功部署的 (TypeScript) CDK 代码:

  const createDashboard = (scope: cdk.Construct, namespace: string, statistic = Statistic.AVERAGE) => {
const customDynamoLatencyMetric: IMetric = new Metric({
period: Duration.minutes(1),
metricName: 'MY_DYNAMO_LATENCY_METRIC',
namespace,
statistic,
});

const derivedAverageDynamoLatencyMetric = new MathExpression({
expression: 'm1/1000', label: 'To Dynamo Latency', usingMetrics: { m1: customDynamoLatencyMetric }, period: Duration.minutes(1),
});

const dashboard = new Dashboard(
scope,
'myDashboard', {
dashboardName: 'myDashboard',
},
);

const widget = new GraphWidget({
title: 'Average Latency',
left: [customDynamoLatencyMetric, derivedAverageDynamoLatencyMetric],
view: GraphWidgetView.TIME_SERIES,
region: AWS_DEFAULT_REGION,
width: 12,
});

dashboard.addWidgets(widget);
};

如果我在 AWS Cloudwatch Dasgboard 控制台中手动将此指标标记为不可见,那么当我在 Cloudwatch 控制台中查看/编辑源代码时,我会看到以下内容:

"metrics": [
[ "stephenburns-gcs-pipeline", "DYNAMO_LATENCY", { "id": "m1", "visible": false } ],
[ { "label": "To Dynamo Latency", "expression": "m1/1000", "period": 60, "id": "e1", "region": "ap-southeast-2" } ]
]

我的问题是如何通过 CDK 获得 "visible": false 属性?

我尝试使用指标的维度属性,例如

dimensions: { visible: false }

但它在部署时失败并出现错误:“无效的度量字段类型,只允许使用“字符串”类型”

有谁知道如何将指标标记为最初不可见?

最佳答案

如果您只将原始的Metric 添加到MathExpressionusingMetrics 属性中,而不是直接将其添加到 GraphWidget,CDK 似乎自动将 visible 设置为 false。 CDK documentation当前(从版本 1.123.0 开始)没有指示直接设置 Metric 可见性的方法。

在您提供的代码示例中,这只需要更改行:

left: [customDynamoLatencyMetric, derivedAverageDynamoLatencyMetric],

到:

left: [customDynamoLatencyMetric],

关于amazon-cloudwatch - 使用 CDK : how do I hide metrics 部署 AWS Cloudwatch 仪表板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67396290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com