Nik*_*ams 2 amazon-web-services amazon-cloudwatch
我有一个单位为秒的自定义云监视指标。(代表缓存的时间)
与往常一样,我希望将其转换为小时数,即125,000,以提高可读性。
那可能吗?
这随着Metrics Math的添加而改变。您可以手动(从控制台)和从CloudFormation仪表板模板对数据进行各种转换。
在控制台中:请参见上面的链接,其中显示:
向图形添加数学表达式
通过https://console.aws.amazon.com/cloudwatch/打开CloudWatch控制台。
创建或编辑图形或线小部件。
选择图形指标。
选择添加数学表达式。表达式将出现新行。
对于“详细信息”列,键入数学表达式。下节中的表列出了可以在表达式中使用的功能。
要将度量或另一个表达式的结果用作该表达式的公式的一部分,请使用Id列中显示的值。例如,
m1+m2或e1-MIN(e1)。
您可以添加新指标(即“指标数学”表达式)来转换现有指标。您可以添加,减去,相乘等指标和标量。在您的情况下,您可能只想使用除法,如下例所示:
假设您metrics的模板中有以下存储桶请求延迟对象:
"metrics":[
["AWS/S3","TotalRequestLatency","BucketName","MyBucketName"]
]
Run Code Online (Sandbox Code Playgroud)
延迟默认值以毫秒为单位。让我们在几秒钟内绘制它,只是为了好玩。1s = 1,000ms因此我们将添加以下内容:
"metrics":[
["AWS/S3","TotalRequestLatency","BucketName","MyBucketName",{"id": "timeInMillis"}],
[{"expression":"timeInMillis / 1000", "label":"LatencyInSeconds","id":"timeInSeconds"}]
]
Run Code Online (Sandbox Code Playgroud)
请注意,expression有权访问ID其他指标。有用的命名在情况变得更复杂时会很有用,但关键是将表达式中的变量与ID分配给相应指标的变量匹配。
这给我们留下了一个带有两个度量的图形:一个毫秒,另一个秒。如果要丢失毫秒,可以这样做,但是我们需要保留度量值以计算数学表达式,因此我们使用以下解决方法:
"metrics":[
["AWS/S3","TotalRequestLatency","BucketName","MyBucketName",{"id": "timeInMillis","visible":false}],
[{"expression":"timeInMillis / 1000", "label":"LatencyInSeconds","id":"timeInSeconds"}]
]
Run Code Online (Sandbox Code Playgroud)
使指标不可见使它脱离图表,同时仍允许我们根据它来计算表达式。
小智 0
Cloudwatch 不进行任何单位转换(即秒转换为小时等)。因此,您无法使用 AWS 控制台显示转换为小时的“秒”数据点值。
您可以将指标值发布为“小时”(将“单位”字段留空或将其设置为“无”)。
否则,如果您仍然想提供单位为“秒”的数据点,您可以检索数据点(使用 GetMetricStatistics API)并使用其他仪表板/图形解决方案绘制值的图表。
| 归档时间: |
|
| 查看次数: |
1860 次 |
| 最近记录: |