Google Stackdriver 基于日志的指标:如何使用正则表达式从日志行中提取值
Google Stackdriver Log Based Metrics: how to extract values using a regular expression from the log line
我的 Google 云控制台中有以下形式的日志行:
Updated blacklist info about 123 minions. max_blacklist_per_minion=20, median_blacklist_per_minion=8, blacklist_free_minions=31
并且我正在尝试设置一些基于日志的指标以获得值的长期概览(即它们如何变化?比昨天低还是高?等)。
但是我没有在文档中找到任何关于这种情况的示例,而且我能想到的似乎也行不通。具体来说,我试图了解 select 在 "Field name" 中需要什么才能访问日志行(这样我就可以编写一个正则表达式)。
我试过 textPayload
但是对于这个日志条目来说似乎是空的。查看实际的日志条目也应该有一个 protoPayload.line[0]
,但这似乎也不起作用
在日志查看器 UI 内置的 "Metric Editor" 中,您可以使用 "protoPayload.line.logMessage" 作为字段名称。出于某种原因,UI 不想建议 'line'(似乎是一个错误;过滤器框中的行为相同)。
基于日志的指标不会根据应用日志行的索引进行区分,因此 'line[0]' 之类的内容将不起作用。对于分布,提取所有值。计数指标将对日志条目进行计数(即 1,无论 'line' 匹配项的数量如何)。
我的 Google 云控制台中有以下形式的日志行:
Updated blacklist info about 123 minions. max_blacklist_per_minion=20, median_blacklist_per_minion=8, blacklist_free_minions=31
并且我正在尝试设置一些基于日志的指标以获得值的长期概览(即它们如何变化?比昨天低还是高?等)。
但是我没有在文档中找到任何关于这种情况的示例,而且我能想到的似乎也行不通。具体来说,我试图了解 select 在 "Field name" 中需要什么才能访问日志行(这样我就可以编写一个正则表达式)。
我试过 textPayload
但是对于这个日志条目来说似乎是空的。查看实际的日志条目也应该有一个 protoPayload.line[0]
,但这似乎也不起作用
在日志查看器 UI 内置的 "Metric Editor" 中,您可以使用 "protoPayload.line.logMessage" 作为字段名称。出于某种原因,UI 不想建议 'line'(似乎是一个错误;过滤器框中的行为相同)。
基于日志的指标不会根据应用日志行的索引进行区分,因此 'line[0]' 之类的内容将不起作用。对于分布,提取所有值。计数指标将对日志条目进行计数(即 1,无论 'line' 匹配项的数量如何)。