我们目前每个ec2实例有多个cloudwatch日志流。调试起来太可怕了。在所有实例中查询“ ERROR XY”将涉及挖掘每个日志流(很耗时)或使用aws cli(很耗时的查询)。
我希望有一个日志流,它将特定类型的所有实例的日志数据组合在一起,假设所有“ webserver”实例将其“ apache2”日志数据记录到一个中央流,而“ php”日志数据记录到另一个中央流流。
很明显,我仍然希望能够找出哪个日志条目源自哪个实例,就像通过syslogd进行中央日志记录一样。
如何将自定义字段“实例ID”添加到cloudwatch的日志中?
答案 0 :(得分:2)
在CloudWatch Logs中组织日志的最佳方法如下:
日志组代表日志类型。例如:webserver / prod。
日志流表示实例ID(即源)。
对于查询,我强烈建议使用Insights功能(在@AWS工作时,我帮助构建了该功能)。日志流名称将与每个日志记录一起用作特殊的@logStream
字段。
您可以像这样查询所有实例:
filter @message like /ERROR XY/
或在一个这样的实例中:
filter @message like /ERROR XY/ and @logStream = "instance_id"