[英]GROK patterns for java exception
我有一些问题 :
我尝试使用https://discuss.elastic.co/t/logstash-configuration-with-custom-patterns/141352 中提到的自定义标签,但无法获得太多帮助。
我想匹配多种模式,例如一种用于正常日志,一种用于异常日志。
^%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:level}\\s*%{JAVACLASS:class}\\.%{WORD:method}\\s-\\s%{GREEDYDATA:log}$
我们也有内置的 Java 模式,但我无法通过搜索找到它们,那么它们是否被编译和存储? 我想在同一个文件中添加我的模式,这样我就不会遇到任何问题。
除了在模式文件夹中写入之外,还有其他方法可以完成此操作吗?
我正在使用 Elastic Stack 7.6.2。
我正在通过 Filebeat 将日志发送到 Logstash。 我必须配置 Filebeat,以便它将整个堆栈跟踪视为一个条目。 我正在使用multiline
行配置示例中所述的多行:
#filebeat.yml
filebeat:
inputs:
- type: log
…
multiline:
pattern: '^[[:space:]]+(at|\.{3})[[:space:]]+\b|^Caused by:'
match: after
output:
logstash:
hosts: ["logstash:5044"]
在我的logstash.conf
文件中,我有一个匹配的过滤器:
2020-05-12 08:31:26.530 INFO 10197 --- [SpringContextShutdownHook] o.s.s.c.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
java.lang.IllegalArgumentException: Exception message
at in.keepgrowing.springbootlog4j2scaffolding.SpringBootLog4j2ScaffoldingApplication.main(SpringBootLog4j2ScaffoldingApplication.java:14) [classes/:?]
at com.example.myproject.Author.getBookIds(Author.java:38)
at com.example.myproject.Bootstrap.main(Bootstrap.java:14)
Caused by: java.lang.NullPointerException
at com.example.myproject.Book.getId(Book.java:22)
at com.example.myproject.Author.getBookIds(Author.java:35)
... 1 more
因为我没有在一场match
列出多个模式,所以每个条目都针对两个比赛进行检查(我认为break_on_match
在这种情况下不起作用)。 结果_grokparsefailure
标记被添加到所有条目。 要删除此标记,我必须知道特定条目已成功与一个模式匹配 - 在这种情况下将出现stacktrace
或spring_boot_log
标记。 因此,我可以安全地删除带有我的标签的条目的_grokparsefailure
标签:
# logstash.conf
…
filter {
grok {
match => { "message" => "%{JAVACLASS:exception}:\s%{GREEDYDATA:stacktrace}" }
add_tag => [ "stacktrace" ]
}
grok {
match => { "message" => "%{TIMESTAMP_ISO8601:log_timestamp}…" }
add_tag => [ "spring_boot_log" ]
}
if "stacktrace" in [tags] or "spring_boot_log" in [tags] {
mutate {
remove_tag => ["_grokparsefailure"]
}
}
}
…
您可以在下面看到来自我的 ElasticHQ 的屏幕截图,其中显示了示例堆栈跟踪是如何解析的。 有两个部分: exception
和stacktrace
,以及我在tags
数组中的自定义标记:
有用的链接:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.