使用Python lamb中的JSON日志格式

2024-04-20 04:24:17 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以使用Python Lambda中的JSON Log Format登录到CloudWatch?在

我想创建一个度量来监视通过lambda的数据,extracting data form JSON Log Events似乎非常适合。在

我的日志记录如下:

logger.info(dict(items=len(records), max_latency=max_latency))

日志显示在CloudWatch上,如下所示:

^{pr2}$

但是当我尝试用这个指标创建一个指标时:

{ $.max_latency = * }

CloudWatch告诉我:

Found 0 matches out of 29 event(s) in the sample log.

Tags: 数据lambdaformlogjsonformatdata度量
1条回答
网友
1楼 · 发布于 2024-04-20 04:24:17

日志条目有两个问题:

  • Python生成的JSON对键使用单引号('),而不是双引号("),CloudWatch只有在使用"时才能识别它。在
  • 正如@user615501指出的,整个日志消息必须是JSON。在

由于lambda很容易受CPU限制,而且JSON非常简单,所以我采用了如下方法:

print('{"items": ' + str(len(records)) + ', "max_latency":' + str(max_latency) + '}')

哪些输出:

^{2}$

它起作用了,我可以成功地用{ $.max_latency = * }进行过滤,并使用$.max_latency作为度量值。在

相关问题 更多 >