Jav*_*een 5 amazon-web-services amazon-cloudwatch
我在通过邮件收到的 cloudwatch 中有这行 lambda 函数日志:
/aws/lambda/sns-function | 2017/01/10/[$LATEST]425d9138c8d54ab57l0766ba74fdfd4p | 2017-01-10T00:04:30.734Z | 2017-01-10 00:04:30,734 :: ERROR :: error creating /tmp/tmpkRWp3S_20170110/file20170115.tar.gz: Command `['/bin/tar', '--create', '-z', '--file', u'/tmp/tmpkRWp3S_20170110/file20170115.tar.gz', '--', './']' returned non-zero exit status 1
Run Code Online (Sandbox Code Playgroud)
如本文档中所述,我想放置过滤器模式以仅获取重要数据。对我来说,我只想获取一次日期,因为在上面的行中,我有两次此信息:2017-01-10T00:04:30.734Z
我尝试使用这样的模式:
[...,timestamp,level,message=*ERROR*,...]
Run Code Online (Sandbox Code Playgroud)
但我收到了这个错误:
2017-01-17 10:45:58,091 :: ERROR :: logGroup: '/aws/lambda/sns-function' - logStream: 'None'
2017-01-17 10:45:58,091 :: ERROR :: An error occurred (InvalidParameterException) when calling the FilterLogEvents operation: Duplicate field '...'
Run Code Online (Sandbox Code Playgroud)
如何解析日志以获取一次日期?
指标过滤器可帮助您搜索和匹配日志事件中的术语、短语或值。它们不会从日志事件中删除值(在您的情况下是时间戳)。您可以修改脚本以从输出中排除时间戳(因为它已包含在内)。
此外,您正在对以空格分隔的日志事件使用指标过滤器。您的分隔符似乎是::,在这种情况下不起作用。指标过滤器会将其解释为单个字段。如果要使用此指标过滤器,可以将每个字段括在方括号[]或两个双引号中""。
例如,您可以将此模式[timestamp, result=ERROR, message, exit_status=*1*]用于以下日志事件:
[2017-01-10 00:04:30,734] [ERROR] "error creating /tmp/tmpkRWp3S_20170110/file20170115.tar.gz: Command `['/bin/tar', '--create', '-z', '--file', u'/tmp/tmpkRWp3S_20170110/file20170115.tar.gz', '--', './']' returned non-zero" "exit status 1"
Run Code Online (Sandbox Code Playgroud)
注意:错误的原因是省略号…在模式中应该只出现一次。
| 归档时间: |
|
| 查看次数: |
13919 次 |
| 最近记录: |