![](/img/trans.png)
[英]How do I configure a logs-based metric to sum some values from log messages?
[英]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_size
和are_there_warnings
不会自动显示为我可以用来操作折线图的字段。 请参阅下面的“分组依据”和“添加过滤器”:
要启用这些字段,我可以为每个字段添加一个 label(我们称此为“显式标记”步骤以供将来参考):
确认添加了这些标签后:
我可以 go 返回到仪表板,看到“分组依据”和“添加过滤器”已相应更新:
并且可以操纵仪表板来使用这些字段:
问题
在尝试提高现有代码库的可观察性时,我必须在 GCP 端添加所有已记录为显式标签的现有字段,而不是 GCP 根据其名称和类型推断记录的字段是标签。 对于我添加新字段的极少数情况(例如/process-batch
发出的日志行的cost
),我必须在 GCP 监控和日志记录端进行显式标记,而不是 GCP 推断新添加的字段应该在 group by 和 filter 中是一个新的隐式添加的 label。
GCP 是否可以自动将jsonPayload
的所有字段部分视为标签? 以下是我想到的一些合理的默认值:
jsonPayload.<log-metric-name>
。 如果这是不可能的,如果隐含地将jsonPayload
字段视为标签是一个坏主意,我也会很感激任何推理。 在我看来,这将大大减少拥有功能性仪表板的工作量。
经查,暂无此类功能。 但是我们已经提出了这个要求。 此请求没有预计到达时间,但我们可以使用以下链接对其进行监控。
您可以为公共问题跟踪器功能请求加注星标,并在主题中添加“我也是”。 随着更多用户请求支持,这将使该请求受到更多关注。
功能请求跟踪器:自动检测来自 JSON 负载的标签
截至目前,以下是一些可以为您提供帮助的指南。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.