javascript - 控制自定义指标在 AWS Cloudwatch 中的存储时间
问题描述
AWS Cloudwatch 存储自定义指标的持续时间取决于指标的期限:
- 周期小于 60 秒的数据点可使用 3 小时。这些数据点是高分辨率的自定义指标。
- 周期为 60 秒(1 分钟)的数据点可使用 15 天
- 周期为 300 秒(5 分钟)的数据点可使用 63 天
- 周期为 3600 秒(1 小时)的数据点可使用 455 天(15 个月)
来自https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html
但是,我无法找到如何使用 JS SDK 为给定指标设置周期:
// Calling the putMetricData operation
var params = {
MetricData: [ /* required */
{
MetricName: 'STRING_VALUE', /* required */
Counts: [
'NUMBER_VALUE',
/* more items */
],
Dimensions: [
{
Name: 'STRING_VALUE', /* required */
Value: 'STRING_VALUE' /* required */
},
/* more items */
],
StatisticValues: {
Maximum: 'NUMBER_VALUE', /* required */
Minimum: 'NUMBER_VALUE', /* required */
SampleCount: 'NUMBER_VALUE', /* required */
Sum: 'NUMBER_VALUE' /* required */
},
StorageResolution: 'NUMBER_VALUE',
Timestamp: new Date || 'Wed Dec 31 1969 16:00:00 GMT-0800 (PST)' || 123456789,
Unit: Seconds | Microseconds | Milliseconds | Bytes | Kilobytes | Megabytes | Gigabytes | Terabytes | Bits | Kilobits | Megabits | Gigabits | Terabits | Percent | Count | Bytes/Second | Kilobytes/Second | Megabytes/Second | Gigabytes/Second | Terabytes/Second | Bits/Second | Kilobits/Second | Megabits/Second | Gigabits/Second | Terabits/Second | Count/Second | None,
Value: 'NUMBER_VALUE',
Values: [
'NUMBER_VALUE',
/* more items */
]
},
/* more items */
],
Namespace: 'STRING_VALUE' /* required */
};
cloudwatch.putMetricData(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#putMetricData-property
文档中有其他地方的引用period
,但与 MetricData 没有直接关系。“数据点”与“度量数据”不同吗?
如何控制指标数据的存活时间?
编辑,更多信息:
CloudWatch 指标随时间累积;随着指标的老化,分辨率会有效降低。这是时间表:
1 second metrics are available for 3 hours. 60 second metrics are available for 15 days. 5 minute metrics are available for 63 days. 1 hour metrics are available for 455 days (15 months).
当您调用 GetMetricStatistics 时,您可以为高分辨率指标指定 1、5、10、30 或 60 秒的任意倍数。您可以为标准指标指定 60 秒的任意倍数。来自https://aws.amazon.com/blogs/aws/new-high-resolution-custom-metrics-and-alarms-for-amazon-cloudwatch/ 根据这篇文章,听起来数据点会自动平均指标为他们老了。在这种情况下,这是否意味着数据点只有在 15 个月完全过期后才会被完全删除?
解决方案
您无法控制数据将存储多长时间,您可以控制发布数据的频率。
例如,如果您每分钟发布一次数据,您可以在 15 天内以 1 分钟的分辨率绘制它。当数据老化超过 15 天时,您只能以 5 分钟的分辨率绘制它。1小时也一样。
分辨率低于 1 分钟的数据除外。在这种情况下,您需要发布所需的分辨率。如果您每秒发布一次数据,并且希望以 1 秒的分辨率绘制它,您可以设置StorageResolution=1
.
Period用于绘制数据图表或通过 API 检索数据。例如,即使您每分钟发布一次数据,您也可能希望绘制 1 小时或 1 天的数据聚合图。在这种情况下,您可以将周期设置为 3600 或 86400。
推荐阅读
- php - 从控制器获取数据到列数据表(Codeigniter)
- html - 在手机屏幕上创建响应式圆弧
- hyperledger-fabric - 在超级账本结构中建立自定义网络时出错
- python - 捕获和存储对象检测
- cassandra - Cassandra 如何被认为是存储非结构化数据的优秀数据库?
- reactjs - pivotUtilities Unfedined
- delphi - 尝试在类型库中创建父级 VCL TFrame 时出现 EInvalidOperation 异常
- java - 为什么我的代码没有按预期工作?我认为空指针异常存在问题。(爪哇)
- r - 在 R 中创建条件变量
- php - 从文本框请求数据返回 null