繁体   English   中英

让基于日志的指标自动确定来自 JSON 过滤日志有效负载的标签

[英]Have Log-Based Metric Automatically Determine Labels from JSON Payload of Filtered Logs

背景(跳到“问题”以获得最终目标)

以端点/process-batch为例,它处理给定单个请求的一批项目。 收到该请求后,它会记录以下行:

{"endpoint_type": "process-batch", "batch_size": <integer>, "are_there_warnings": <boolean>}

我可以通过以下方式为此配置基于日志的指标:

在此处输入图像描述

然后我可以创建一个折线图(将“资源和指标”更改为上面创建的基于日志的指标,指定它可以从全球任何地方发出):

在此处输入图像描述

生成的仪表板如下所示:

在此处输入图像描述

问题是batch_sizeare_there_warnings不会自动显示为我可以用来操作折线图的字段。 请参阅下面的“分组依据”和“添加过滤器”:

在此处输入图像描述 在此处输入图像描述

要启用这些字段,我可以为每个字段添加一个 label(我们称此为“显式标记”步骤以供将来参考):

在此处输入图像描述

在此处输入图像描述

确认添加了这些标签后:

在此处输入图像描述

我可以 go 返回到仪表板,看到“分组依据”和“添加过滤器”已相应更新:

在此处输入图像描述

并且可以操纵仪表板来使用这些字段:

在此处输入图像描述

问题

在尝试提高现有代码库的可观察性时,我必须在 GCP 端添加所有已记录为显式标签的现有字段,而不是 GCP 根据其名称和类型推断记录的字段是标签。 对于我添加新字段的极少数情况(例如/process-batch发出的日志行的cost ),我必须在 GCP 监控和日志记录端进行显式标记,而不是 GCP 推断新添加的字段应该在 group by 和 filter 中是一个新的隐式添加的 label。

GCP 是否可以自动将jsonPayload的所有字段部分视为标签? 以下是我想到的一些合理的默认值:

  • “日志指标名称”采用字段本身的名称。
  • “描述”将留空。
  • “标签类型”将根据字段类型确定。
  • “字段名称”将是jsonPayload.<log-metric-name>

如果这是不可能的,如果隐含地将jsonPayload字段视为标签是一个坏主意,我也会很感激任何推理。 在我看来,这将大大减少拥有功能性仪表板的工作量。

经查,暂无此类功能。 但是我们已经提出了这个要求。 此请求没有预计到达时间,但我们可以使用以下链接对其进行监控。

您可以为公共问题跟踪器功能请求加注星标,并在主题中添加“我也是”。 随着更多用户请求支持,这将使该请求受到更多关注。

功能请求跟踪器:自动检测来自 JSON 负载的标签

截至目前,以下是一些可以为您提供帮助的指南。

Google Cloud fluentd output 插件配置

配置代理

处理负载

结构化有效载荷中的特殊字段

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM