日志中的 GROK 自定义模式过滤器



如何在logstash中创建grok自定义模式过滤器? 我想为 http 响应状态代码创建一个模式 这是我的模式代码

STATUS_CODE __ %{NONNEGINT} __

我真正想做的是让我所有的 Web 服务器都使用用户 IP 命中,并请求 http 标头和有效负载以及 Web 服务器的响应。

这是我的 logstash.conf

input {
file {
type => "kpi-success"
path => "/var/log/kpi_success.log"
start_position => beginning
}
}
filter {
if [type] == "kpi-success" {
grok {
patterns_dir => ["./patterns"]
match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{GREEDYDATA:message} "}
}
multiline {
pattern => "^["
what => "previous"
negate => true
}
mutate{
add_field => {
"statusCode" => "[STATUS_CODE]"
}
}
}
}
output {
if [type] == "kpi-success" {
elasticsearch {
hosts => "elasticsearch:9200"
index => "kpi-success-%{+YYYY.MM.dd}"
}
}
}

您不必使用自定义模式文件,可以直接在过滤器中定义一个新模式文件。

grok {
match => { "message" => "(?<STATUS_CODE>__ %{NONNEGINT} __)"}
}

相关内容

  • 没有找到相关文章

最新更新