amazon-cloudwatch - 使用 CDK 部署 AWS Cloudwatch 控制面板:如何隐藏指标
问题描述
我有一个自定义指标,我将更新推送到我的代码中。在 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获得“可见”:虚假属性?
我尝试使用 Metric 的维度属性,例如
dimensions: { visible: false }
但它在部署时失败并出现错误:“无效的度量字段类型,只允许“字符串”类型”
有谁知道如何将指标标记为最初不可见?
解决方案
如果只将原始添加Metric
到 的usingMetrics
属性中MathExpression
而不直接添加到 中GraphWidget
,CDK 似乎会自动设置visible
为 false。CDK 文档目前(从 1.123.0 版开始)没有指示Metric
直接设置 a 可见性的方法。
在您提供的代码示例中,这只需要更改行:
left: [customDynamoLatencyMetric, derivedAverageDynamoLatencyMetric],
至:
left: [customDynamoLatencyMetric],
推荐阅读
- android - 领域 IllegalStateException:架构验证失败
- node.js - Mongoose:更新特定文档数组的元素
- python - 用于复制后面有数字 2 的单词的 python 代码是什么?
- node.js - 如何使用 cPanel 重启 NodeJS
- mongodb - CrudRepository 保存方法不做更新
- jquery - 如何调用jquery函数然后触发按钮的点击事件?
- python - Numpy 的搜索速度是否比 Python 3 中的 Set/Dictionary 慢?
- c# - 在 c# -winforms 中捕获 teststack.white 窗口的屏幕截图
- python - 如何在python中使用Pyqt5获取qlistwidget中项目的行号
- python - Python爬虫问题