我想使用 cloudwatch 洞察来可视化主机随时间变化的平均延迟的多线图。每个主机一行。
此统计查询提取延迟并按主机将其聚合到 10 分钟的存储桶中,但它不会生成任何可视化。
stats avg(latencyMS) by bin(10m), host
bin(10m) | host | avg(latencyMS)
0m | 1 | 120
0m | 2 | 220
10m | 1 | 130
10m | 2 | 230
文档称这是一个常见的错误,但没有提供任何替代方案。
The following query does not generate a visualization, because it contains more than one grouping field.
stats avg(myfield1) by bin(5m), myfield4
实验上,如果每条记录有多个键,cloudwatch 会生成一个多线图。生成折线图的查询必须返回如下结果:
bin(10m) | host-1 avg(latencyMS) | host-2 avg(latencyMS)
0m | 120 | 220
10m | 130 | 230
我不知道如何编写输出该查询的查询。
最佳答案
为每个主机解析单独的消息,然后计算它们的统计信息。
例如,要获得来自进程的响应的平均延迟 PID=11 和 PID=13 .
parse @message /\[PID:11\].* duration=(?<pid_11_latency>\S+)/
| parse @message /\[PID:13\].* duration=(?<pid_13_latency>\S+)/
| display @timestamp, pid_11_latency, pid_13_latency
| stats avg(pid_11_latency), avg(pid_13_latency) by bin(10m)
| sort @timestamp desc
| limit 20
正则表达式提取 ID 为
11
的进程的持续时间和 13
到参数 pid_11_latency
和 pid_13_latency
分别填写null
没有匹配系列的地方。您可以通过创建匹配正则表达式来构建此示例,该表达式从您关心的主机的消息中提取指标。
关于amazon-web-services - 如何在 AWS 洞察力上可视化按多个维度聚合的时间序列数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57911181/