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

时间:2019-02-19 22:41:01

标签: amazon-cloudwatchlogs

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

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

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

如何将自定义字段“实例ID”添加到cloudwatch的日志中?

1 个答案:

答案 0 :(得分:2)

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

  • 日志组代表日志类型。例如:webserver / prod。

  • 日志流表示实例ID(即源)。

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

您可以像这样查询所有实例:

filter @message like /ERROR XY/

或在一个这样的实例中:

filter @message like /ERROR XY/ and @logStream = "instance_id"