16

是否可以从 GCP Stackdriver 日志记录中计算特定时间段内特定日志消息的出现次数?回答“此事件在此时间段内发生了多少次”的问题。基本上我想要下图中曲线的积分。

它不必是一个移动的窗口,这一次它更像是一个一次性任务。如果可用的话,高级日志查询上的计数聚合器或类似功能也可以使用。

堆栈驱动程序中基于日志的指标图表示例

查询如下所示:

(resource.type="container"
logName="projects/xyz-142842/logs/drs"
"Publish Message for updated entity"
) AND (timestamp>="2018-04-25T06:20:53Z" timestamp<="2018-04-26T06:20:53Z")

上图的基于日志的指标如下所示: Type=Counter 和 Units=1 的基于日志的度量标准

我的仪表板是这样设置的: 带有聚合总和的仪表板

4

5 回答 5

5

我最终建造了堆叠的酒吧。

使用正确的缩放级别,我可以很容易地总结出现的次数。直接从图形(积分)中获取计数本来是一个不错的功能,但目前这可行。

带有聚合的堆叠条形图:sum 和 Aligner:sum

于 2018-04-30T09:40:12.490 回答
2

有多种方法可以做到这一点,我看到实际有效并且可以适用于您的情况的两种方法如下:

  • 利用基于日志的指标。例如,它们可以记录包含特定错误消息的日志条目的数量,或者它们可以提取日志条目中报告的延迟信息。

    Stackdriver Logging 基于日志的指标可以是以下两种指标类型之一:计数器或分布。[...]计数器指标计算与高级日志过滤器匹配的日志条目数。[...]分布指标从匹配过滤器的日志条目中累积数字数据。

    我建议您阅读文档以检查此功能是否完全涵盖您的用例。

  • 您可以将日志导出到 Big query,一旦有了它们,您就可以使用经典工具,例如groupbyselect以及 BigQuery 为您提供的所有工具。

    在这里,您可以找到关于如何导出日志以及如何使用 BigQuery 分析审计日志的非常简单的分步指南,但我相信您可以在网上找到许多资源。


产品和方法确实不同,我想说 BigQuery 更灵活,但配置和正确使用它也更复杂。如果您找到第三种更好的方法,请使用这些信息更新您的问题。

于 2018-04-26T07:35:09.600 回答
0

使用 PacketAI,您可以发送任意格式的日志,包括来自 GCP。然后日志仪表板将自动解析并分组为本视频所示的模式。 https://streamable.com/n50kr8

还显示不同日志模式的计数和趋势

免责声明:我为 PacketAI 工作

于 2022-02-07T13:47:21.637 回答
0

还有一种选择。您可以使用 Stackdriver Monitoring API ( https://cloud.google.com/monitoring/api/v3/ ) 读取您的自定义指标,并使用您需要的任何聚合在脚本中对其进行处理。

如果您正在使用 python - 您可以查看 gcloud python 库https://github.com/GoogleCloudPlatform/google-cloud-python/tree/master/monitoring 这将是一个非常简单的脚本,您可以将计算结果流式传输到 bigquery表并在您的仪表板中使用它

于 2018-04-27T22:55:07.973 回答
0

首先,您必须创建一个指标:

  1. 转到日志资源管理器。
  2. 输入您的查询
  3. 转到操作 >> 创建指标。

在监控仪表板中

  1. 创建图表。
  2. 选择资源和指标。
  3. 转到“高级”并提供如下详细信息:

预处理步骤:速率

对齐功能: 计数

对齐周期:1

校准单位:分钟

分组方式:日志

按功能分组:计数

这将为您提供条形图中的可视化,其中包含所需事件的计数。

于 2021-07-28T09:59:14.117 回答