Mat*_*hur 4 amazon-web-services amazon-cloudwatch amazon-cloudwatchlogs
我有一个 Lambda,它查询 ec2 api 并将输出打印到 cloudwatch 日志,我想将其用于指标。但是,我在解析输出(从字典生成)时遇到问题。这是一个典型的@消息:
defaultdict(None, {ec2.Instance(id='i-instance'): {'InstanceID': 'i-instance', 'Type': 't2.micro', 'ImageID': 'ami-0e5493310d2c6de5b', 'State': 'running'
我尝试过|parse 'InstanceID': *' as InstanceId类似的操作,但出现此错误,并且在文档中没有找到示例(https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html)。
感谢您的帮助。
如果您可以修改 Lambda,最简单的解决方案可能是将字典打印为单行 JSON(而不是 Python 字典的字符串格式)——类似的方法print(json.dumps(myvalue))应该可以解决问题。然后 Cloudwatch 将自动理解这些字段。
如果您无法修改 Lambda 的输出,向 Logs Insights 查询添加更多引号可能会有所帮助:parse @message "'InstanceID': '*'" as InstanceID。
| 归档时间: |
|
| 查看次数: |
11992 次 |
| 最近记录: |