Ich habe ein Problem mit ELK Stack + Filebeat.Elasticsearch Logstash Filebeat Mapping
Filebeat sendet Apache-ähnliche Protokolle an Logstash, die die Zeilen analysieren sollten. Elasticsearch sollte die geteilten Daten in Feldern speichern, damit ich sie mit Kibana visualisieren kann.
Problem: Elasticsearch erhält die Protokolle aber speichert sie in einem einzigen "Nachricht" -Feld.
gewünschte Lösung:
Input:
10.0.0.1 some.hostname.at - [27/Jun/2017: 23: 59: 59 0200]
ES:
"ip": "10.0.0.1"
"hostname": "some.hostname.at"
"Zeitstempel": "2 7/Jun/2017: 23: 59: 59 0200"
Meine logstash Konfiguration:
input {
beats {
port => 5044
}
}
filter {
if [type] == "web-apache" {
grok {
patterns_dir => ["./patterns"]
match => { "message" => "IP: %{IPV4:client_ip}, Hostname: %{HOSTNAME:hostname}, - \[timestamp: %{HTTPDATE:timestamp}\]" }
break_on_match => false
remove_field => [ "message" ]
}
date {
locale => "en"
timezone => "Europe/Vienna"
match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ]
}
useragent {
source => "agent"
prefix => "browser_"
}
}
}
output {
stdout {
codec => rubydebug
}
elasticsearch {
hosts => ["localhost:9200"]
index => "test1"
document_type => "accessAPI"
}
}
Meine Elasticsearch entdecken Ausgabe:
Ich hoffe, es gibt keine ELK Experten um das kann mir helfen. Vielen Dank im Voraus, Matthias