CloudWatch解析带有通配符的@message内容的时候碰到问题, 如何解决?

0

【以下的问题经过翻译处理】 如果有实际的文档资料,我为此道歉,因为我已经花了数小时寻找解决方案。作为一个Oracle数据库管理员,我需要监控某些日志文件以查找特定字符串。对于监听器日志,其中一种类型的消息包含 "service_update * <db_name> * STATUS * [0 or non-zero]"。我可以解析到第一个星号之前的所有内容,但是即使使用双引号作为分隔符,我仍然无法确定如何包含该字符串的结尾部分。具体而言,我需要在出现非零状态的情况下触发警报。

类似地,对于警报日志,我需要标记包含 "ORA-" 错误消息的消息,但不包括 'ORA-1'。非常感谢您提前的帮助。

profile picture
专家
已提问 3 个月前10 查看次数
1 回答
0

【以下的回答经过翻译处理】 你好,感谢你的询问!

虽然我对Oracle日志的完整格式并不完全熟悉,但希望这些示例能对你有所帮助。同时,我不太清楚你是尝试使用Logs Insights解析这些日志,还是为了在日志组上设置Metric Filter进行警报设置,所以我将为两者提供示例。

为了进行测试,我使用了基于你提供的片段的虚构样本日志消息。以下示例假设日志以空格分隔:

2022-04-13 00:00:28 service_update DB_1 STATUS * 0
2022-04-13 00:00:29 service_update DB_1 STATUS * 1
2022-04-13 00:00:30 service_update DB_1 STATUS * 1
2022-04-13 00:00:31 service_update DB_1 STATUS * 1
2022-04-13 00:00:32 service_update DB_1 STATUS * 1
2022-04-13 00:00:33 service_update DB_1 STATUS * 0
2022-04-13 00:00:34 service_update DB_1 STATUS * 1
2022-04-13 00:00:35 service_update DB_1 STATUS * 1
2022-04-13 00:00:36 service_update DB_1 STATUS * 0
2022-04-13 00:00:37 service_update DB_1 STATUS * 1
2022-04-13 00:00:38 service_update DB_1 STATUS * 1
2022-04-13 00:00:39 service_update DB_1 STATUS * 0
2022-04-13 00:00:40 service_update DB_1 STATUS * 1

在Logs Insights中,通过解析字符串为七个独特字段,以下查询将返回仅包含状态不等于0的日志消息:

fields @timestamp
| parse @message "* * * * * * *" as date, time, action, db, type, asterisk, status
| filter status!=0
| sort time desc

同样地,如果你想在日志组上创建一个Metric Filter,以便生成一个非零状态的指标以创建警报,以下Metric Filter模式可以成功解析和筛选出status!=0:

[date, time, action, db, type, asterisk, status!=0]

另外,针对你的警报日志(再次假设是以空格分隔的情况),考虑到以下示例日志:

2022-04-13 00:00:28 service_update DB_1 STATUS ORA-1 0
2022-04-13 00:00:29 service_update DB_1 STATUS ORA-2 1
2022-04-13 00:00:30 service_update DB_1 STATUS ORA-3 1
2022-04-13 00:00:31 service_update DB_1 STATUS ORA-8 1

你可以生成一个Metric Filter模式,以监视并仅筛选包含 "ORA-*" 的日志,但不包括 "ORA-1":

[date, time, action, db, type, error!=ORA-1, status]

希望这对你有所帮助,如果我的假设是错误的,请让我知道!

profile picture
专家
已回答 3 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则