【问题标题】:Filter log streams in aws cloudwatch在 aws cloudwatch 中过滤日志流
【发布时间】:2017-09-03 07:49:57
【问题描述】:

是否可以使用 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”之类的东西过滤日志流吗?

【问题讨论】:

    标签: amazon-web-services amazon-cloudwatchlogs


    【解决方案1】:

    DescribeLogStreams API 仅支持按前缀过滤,控制台使用该 API 列出您的日志流。无法通过前缀以外的内容进行过滤。

    在您的情况下,最佳做法是使用 2 个日志组,每种类型一个:

    • /var/prod/nginx_access
    • /var/prod/nginx_error

    这样,您可以通过首先选择适当的日志组,然后使用前缀过滤器搜索实例 ID 来导航到您的日志。

    【讨论】:

    • 感谢丹尼尔提供的信息!知道控制台实际上正在使用这个 API 调用是很有用的。只是出于好奇,这FilterLogEvents API 似乎就是我要找的东西。你知道控制台是否在使用这个 API 吗?
    • @RayT - 不在列出日志流时。控制台为此使用了 DescribeLogStreams。 FilterLogEvents 用于在日志流或日志组中进行搜索。
    • 我想知道如何通过 CloudWatch 控制台中的“前缀”进行实际搜索。我只能像这样搜索整个日志组:eu-west-1.console.aws.amazon.com/cloudwatch/…;或特定流:eu-west-1.console.aws.amazon.com/cloudwatch/…... 但我需要使用整个流名称 - 我只想使用像“/my-app/*”这样的前缀
    猜你喜欢
    • 2016-03-22
    • 1970-01-01
    • 2020-02-01
    • 2020-05-21
    • 1970-01-01
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多