【问题标题】:How to create JSON filter for cloudwatch log events?如何为 cloudwatch 日志事件创建 JSON 过滤器?
【发布时间】:2020-08-28 06:18:19
【问题描述】:

在我的 cloudwatch 日志中有三种不同的传感器日志事件,分别是 OK、Warning 和 Critical 状态。具有所有状态代码的单个传感器的参考如下,

JSON 日志事件:

2020-08-27T19:30:06.998+05:30   {" NumberOfThreads": "Warning"}
2020-08-27T19:43:11.996+05:30   {" NumberOfThreads": "Ok"}
2020-08-27T19:43:11.996+05:30   {" NumberOfThreads": "Critical"}   

我想应用像“NumberOfThreads != Ok”这样的过滤器,这意味着过滤器应该能够为临界状态或警告状态创建警报。

基于文本的日志事件;

2020-08-26T13:05:08.741+05:30   Elasticsearch Ok 
2020-08-26T13:05:08.992+05:30   Elasticsearch Warning
2020-08-26T13:05:08.992+05:30   Elasticsearch Critical    

我可以以简单的文本格式为“NumberOfThreads:警告”和“NumberOfThreads:Critical”创建每个过滤器。在这两种方法中,是否有任何选项来定义过滤器,它只会选择 Elasticsearch 关键或警告状态?请帮助我以文本或 JSON 格式解决此问题

我的脚本:

SENSOR=$(curl https://mywebpage/admin/monitoring/Elsticsearch/ | awk -F"Sensor<\/th><td>" '{print $2}' |awk -F"<\/td></tr>" '{print $1}')
STATUS=$(curl https://mywebpage/admin/monitoring/Elsticsearch/ | awk -F"Status</th><td>" '{print $2}' |awk -F"</td></tr><tr><th>" '{printf $1}')
echo {\"datetime\": "$TIME", \"$SENSOR\": \"$STATUS\"} >> zoop.json

【问题讨论】:

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


    【解决方案1】:

    由于您的日志输出结构没有明确定义,因此您无法使用基于文本的过滤器获得这样的逻辑提取文本。

    唯一的解决方案是,在您的应用程序中,您需要再次将其日志输出重新定义为明确定义的基于 JSON 的日志,这样您就可以开始使用 JSON 过滤日志,而不是 TEXT。

    {"datetime": 2020, "thread": "ok"}
    

    以下是过滤模式的示例:

    【讨论】:

    • 感谢 Leondkr,我会尝试在 JSON 格式的日志中包含时间戳。您能否分享一下您共享的 JSON 格式的过滤器逻辑?
    • @rajkumar 我已经更新了上面的截图。您可以尝试使用不同的运算符(!=,=)来过滤您的值:D
    • 谢谢!!感谢分享截图。我尝试使用与前面提到的日志消息相同的方法,但它不起作用。在消息中添加 Json 格式的日期会起作用吗?此日志消息是从 txt 文件中捕获的。请参考我的评论,我如何按照您的建议添加日期和格式?我已经更新了这些命令。
    • 我已将日志格式更改为 {"datetime": 2020," NumberOfThreads": "Ok"} 但过滤器 {$.NumberOfThreads = "Ok"} 对我不起作用。
    • @Leondkr 它对我有用。而不是 {"datetime": 2020, "thread": "ok"} 我希望将日期时间更改为 {"datetime": 2020.09.16T16.10.40, "NumberOfThreads": "Ok"}。所以当前过滤器与所需的时间戳不匹配。
    猜你喜欢
    • 2019-10-12
    • 1970-01-01
    • 1970-01-01
    • 2021-06-26
    • 2021-09-05
    • 1970-01-01
    • 2016-03-22
    • 1970-01-01
    • 2017-09-03
    相关资源
    最近更新 更多