AWS CloudWatch Logs过滤器模式问题

时间:2020-09-26 21:44:44

标签: amazon-web-services amazon-cloudwatch amazon-cloudwatchlogs

我有几个搜寻器,可搜寻多个站点并将内容存储在数据库中。该程序的日志存储在CloudWatch Logs中。

如果搜寻器成功撤回内容,则其外观类似于以下内容

HTTP GET: 200 - https://www.thecheyennepost.com/news/national/r

HTTP GET: 200 - https://www.thecheyennepost.com/news/f-e-warren-hous

我要解决的问题是确定何时弹出400个错误。下面是一个示例:

HTTP GET: 429 - https://www.livingstonparishnews.com/search/?l=25&sort=

HTTP GET: 429 - https://www.livingstonparishnews.com/search/?l=25&sort=rele

HTTP GET: 429 - https://www.ktbs.com/search/?l=25&s=start_time&sd=desc&f=

我尝试使用status_code=4*,但没有执行任何操作

我只希望能够过滤所有400个错误。

我们将不胜感激。

1 个答案:

答案 0 :(得分:2)

是的!现在,您可以使用Logs Insights了:)

首先...您需要拥有新的用户界面,或者以其他方式转到“ Logs Insights ”服务... jaja

CloudWatch-> CloudWatch Logs->日志组-> [您的服务日志]

使用新的用户界面,您可以看到此按钮(或转到aws cli搜索引擎中的Logs Insights):

Cloud Watch Example

现在您可以看到以下内容:

Logs Insights UI

  1. 这是一个查询框,就像一个SQL。
  2. 您要搜索的时间范围

现在就您的情况..您需要此查询(如果需要过滤其他内容,请告诉我)

fields @message
| sort @timestamp desc
| filter @message like /4{1}[0-9]{1}[0-9]{1}/

我看到了您的日志,并且您的状态代码之间有空格,我认为这是最好的

fields @message
| sort @timestamp desc
| filter @message like / 4{1}[0-9]{1}[0-9]{1} /

仅此

现在运行查询,您将仅看到包含状态码[4xx]的日志。 希望能解决您的问题

注意:如果您直接从搜索引擎转到Logs Insights,则需要选择使用查询扫描的服务日志。在查询框顶部的组合框中。