Wie erstelle ich einen grok benutzerdefinierten Musterfilter in logstash? Ich möchte ein Muster für HTTP-Antwortstatuscode erstellen, hier ist meine ModellcodeGROK benutzerdefinierter Musterfilter in logstash
STATUS_CODE __ %{NONNEGINT} __
was ich reaaly tun möchte, ist alle meine Web-Server mit Benutzer-IP-Hits haben, und fordern Sie HTTP-Header und Nutzlast und Antwort des Web-Servers.
und hier ist mein 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}"
}
}
}
Lesen Sie die [doc] (https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html#_custom_patterns)? – baudsp
ja Ich habe bereits die gesamte Dokumentation gelesen, aber es ist nicht so klar – mhndev
Können Sie einige Beispielzeilen des Protokolls bereitstellen, das Sie verarbeiten möchten? – niglesias