AWS Cloudwatch:如何将实例名称/自定义字段添加到日志中?

问题描述 投票:2回答:1

我们目前每个ec2实例有多个cloudwatch日志流。这很难调试;在所有实例中查询“ERROR XY”将涉及挖掘每个日志流(耗时)或使用aws cli(耗时的查询)。

我希望有一个日志流组合特定类型的所有实例的日志数据,假设所有“webserver”实例将其“apache2”日志数据记录到一个中央流,并将“php”日志数据记录到另一个中心流。

显然,我仍然希望能够找出哪个日志条目来自哪个实例 - 就像我通过syslogd进行中央日志记录一样。

如何将自定义字段“instance id”添加到cloudwatch中的日志中?

amazon-cloudwatchlogs
1个回答
2
投票

在CloudWatch Logs中组织日志的最佳方法如下:

  • 日志组表示日志类型。例如:webserver / prod。
  • 日志流表示实例id(即源)。

对于查询,我强烈建议使用Insights功能(我在@ AWS工作时帮助构建了它)。日志流名称将作为特殊的@logStream字段与每个日志记录一起使用。

您可以在所有实例中查询,如下所示:

filter @message like /ERROR XY/

或者在这样的一个实例中:

filter @message like /ERROR XY/ and @logStream = "instance_id"
© www.soinside.com 2019 - 2024. All rights reserved.