首页 > 解决方案 > AWS Cloudwatch 日志指标 FilterPattern on XML 文本

问题描述

我正在尝试在打印到日志文件的 XML 文本上向 AWS Cloudwatch 日志添加过滤器。

例如<one> <Test>Something</Test> <Msg>blah blah</Msg></one>

我正在尝试将过滤器模式放在 text 上<Test>Something</Test>。我尝试了以下选项,但它们都不起作用。我收到“无效的指标过滤器模式”。日志文件中的某些行也不会包含此文本。

&lt;Test&gt;Something&lt;/Test&gt; <Test>Something</Test> <\"Test>\"Something<\"/\"Test>\"

请问有什么建议吗?

标签: amazon-web-servicesamazon-cloudwatchamazon-cloudwatch-metrics

解决方案


A bit late but might help future visitors. I got around by using query inside Cloudwatch Logs Insights

Example log generated in Cloudwatch


Timestamp: 2021-01-12T20:50:40.579+01:00

Message: 
<Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'>
    <EventData>
        <Data Name='SubjectUserName'>-</Data>
        <Data Name='SubjectDomainName'>-</Data>
        <Data Name='SubjectLogonId'>0x0</Data>
        <Data Name='TargetDomainName'>NT AUTHORITY</Data>
        <Data Name='LogonProcessName'>NtLmSsp </Data>
        <Data Name='AuthenticationPackageName'>NTLM</Data>
        <Data Name='LogonGuid'>{00000000-0000-0000-0000-000000000000}</Data>
        <Data Name='TransmittedServices'>-</Data>
    </EventData>
</Event>

Query to find all events with TargetDomainName=NT AUTHORITY

// very simple regex
fields @message
| filter @message like /<Data Name='TargetDomainName'>NT AUTHORITY<\/Data>/

推荐阅读