在AWS CloudWatch中过滤日志流

4
有没有办法在CloudWatch控制台中使用模式过滤日志流?
例如,我有一个日志组中的以下日志流 - 日志组:
'/var/prod/logs'。
日志流:
/prod/[node_instance_id]/nginx_access
/prod/[node_instance_id]/nginx_error 我有一个多节点环境,具有自动缩放等功能。因此,日志流可能会很乱 - 这是我在日志流中看到的内容的示例。
/prod/1a2b3c4d5e/nginx_access
/prod/1a2b3c4d5e/nginx_error /prod/1b2b3c4d5e/nginx_access
/prod/1b2b3c4d5e/nginx_error /prod/1c2b3c4d5e/nginx_access
/prod/1c2b3c4d5e/nginx_error 我正在尝试过滤日志流以仅为所有“nginx_access”。但是从控制台上看,似乎我只能指定前缀。是否有任何方法可以使用类似于“*nginx_access”的东西来过滤日志流?
1个回答

3
DescribeLogStreams API仅支持按前缀过滤,并且控制台使用该API列出日志流。不可能使用除前缀之外的其他过滤器进行过滤。
在您的情况下,最佳实践是使用两个日志组,每个类型一个:
- /var/prod/nginx_access - /var/prod/nginx_error 这样,您就可以通过首先选择适当的日志组,然后使用前缀过滤器搜索实例ID来导航到日志。

谢谢提供信息,Daniel!知道控制台实际上正在使用这些API调用非常有用。出于好奇,我似乎正在寻找这个FilterLogEvents API。您是否知道控制台是否在使用此API? - Ray T
1
@RayT - 当列出日志流时不是这样。控制台使用DescribeLogStreams来完成此操作。FilterLogEvents用于在日志流或日志组中搜索。 - Daniel Vassallo
我想知道如何在CloudWatch控制台中按“前缀”搜索。我只能像这样搜索整个日志组:https://eu-west-1.console.aws.amazon.com/cloudwatch/home?region=eu-west-1#logEventViewer:group=/aws/batch/job; 或特定的流:https://eu-west-1.console.aws.amazon.com/cloudwatch/home?region=eu-west-1#logEventViewer:group=/aws/batch/job;stream=/my-app/... 但我需要使用整个流名称 - 我想使用类似“/my-app/*”的前缀。 - Juraj Martinka

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接