amazon-web-services - 如何在 AWS 洞察力上可视化按多个维度聚合的时间序列数据?

标签 amazon-web-services amazon-cloudwatchlogs aws-cloudwatch-log-insights

我想使用 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

aws docs



实验上,如果每条记录有多个键,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_latencypid_13_latency分别填写null没有匹配系列的地方。

您可以通过创建匹配正则表达式来构建此示例,该表达式从您关心的主机的消息中提取指标。

关于amazon-web-services - 如何在 AWS 洞察力上可视化按多个维度聚合的时间序列数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57911181/

相关文章:

amazon-web-services - Terraform - 创建 EBS 快照,然后将快照转换为 EBS 并附加到 EC2

python - 在 Django 应用程序中上传到非美国标准 AWS S3 存储桶时出错;美国标准铲斗工作完美

ios - 我应该如何为我的应用构建 Amazon Web Services?

python - 我需要从云监视日志中抓取日志并将其加载到 s3 以及从 s3 加载到数据仓库

amazon-web-services - 从 CloudWatchLogs 中删除特定日志事件

amazon-cloudwatchlogs - Cloudwatch 日志洞察合并连接输出

php - AWS S3 cURL 超时

amazon-web-services - aws cloudwatch 日志过滤模式包括匹配模式之前和/或之后的行

amazon-web-services - 如何将 CloudWatch 日志流过滤为失败调用的日志流?

java - 在 AWS cloudwatch 中记录我的 java 服务的异常