gpt4 book ai didi

apache - 使用 Grok for Logstash 解析 Apache2 错误日志

转载 作者:行者123 更新时间:2023-12-02 18:41:56 28 4
gpt4 key购买 nike

我正在尝试解析我的 apache2 错误日志,但遇到了一些麻烦。它似乎与过滤器不匹配。我很确定时间戳部分是错误的,但我不确定,而且我真的找不到任何文档来解决它。另外,有没有办法将 fields.errmsg 中的内容发送给我@message

日志

[Wed Jun 26 22:13:22 2013] [error] [client 10.10.10.100] PHP Fatal error:  Uncaught exception '\Foo\Bar'

发件人配置

input {
file {
'path' => '/var/log/apache2/*-error.log'
'type' => 'apache-error'
}

}

filter {
grok {
type => "apache-error"
pattern => "\[%{HTTPDATE:timestamp}\] \[%{WORD:class}\] \[%{WORD:originator} %{IP:clientip}\] %{GREEDYDATA:errmsg}"
}
}


output {
stdout {}
redis {
'data_type' => 'list'
'host' => 'logstash.server.net'
'key' => 'logstash'
}
}

最佳答案

嘿!

我知道我参加聚会有点晚了,但开始了!

我在系统上创建了一个 /etc/logstash/patterns.d/ 目录,并在其中创建了一个名为 apache-error 的文件,其中包含:

APACHE_ERROR_TIME %{DAY} %{MONTH} %{MONTHDAY} %{TIME} %{YEAR}
APACHE_ERROR_LOG \[%{APACHE_ERROR_TIME:timestamp}\] \[%{LOGLEVEL:loglevel}\] (?:\[client %{IPORHOST:clientip}\] ){0,1}%{GREEDYDATA:errormsg}

/etc/logstash/patterns.d/ 将在 logstash 配置中引用,如下所示:

grok {
patterns_dir => [ "/etc/logstash/patterns.d" ]
match => [ "message", "%{APACHE_ERROR_LOG}" ]
}

您可以在 Grok Debugger 进行测试,就像亚当在评论中提到的那样。似乎与您发送的示例日志条目配合得很好。我与我的一位客户的合作非常扎实。

上面的模式将最终消息放入 errormsg 字段中。所以我只是删除 message 字段。

这是我当前在 Logstash 配置中使用的内容:

filter {
if [type] == "apache_error_log" {

grok {
patterns_dir => [ "/etc/logstash/patterns.d" ]
match => [ "message", "%{APACHE_ERROR_LOG}" ]
}

if !("_grokparsefailure" in [tags]) {

mutate {
remove_field => [ "message" ]
add_field => ["timestamp_submitted", "%{@timestamp}"]
}

date {
# Try to pull the timestamp from the 'timestamp' field (parsed above with
# grok). The apache time format looks like: "18/Aug/2011:05:44:34 -0700"
# Sat Feb 08 06:31:09 2014
match => [ "timestamp", "EEE MMM dd HH:mm:ss yyyy" ]
remove_field => [ "timestamp" ]
}

geoip {
source => "clientip"
}
}
}
}

请注意,我使用的是 apache_error_log 类型,而不是 apache-error

放手一搏吧。我很想知道这是否适用于您和其他人!

干杯!

关于apache - 使用 Grok for Logstash 解析 Apache2 错误日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17331593/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com