Kibana Webserver Logs nach User Agents auswerten

Nachdem nun die Logfiles eine Apaches Servers in einer Elasticsearch Datenbank gelandet sind wollte ich meine ersten Gehversuche mit der Auswertung der Daten in Kibana starten.

Für den Anfang wollte ich ein Kuchendiagramm mit den verwendeten Browsern und dem Betriebssystem erstellen

Leider wird bisher der Useragent an “einem Stück” von Logstash nach Elasticsearch geschrieben.

Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; rv:11.0) like Gecko

Glücklicherweise gibt es in Logstash einen Filter der einem diesen String schön in die Bestandteile zerlegt. Wenn man diese Zeilen seiner Logstash Konfiguration hinzufügt

 useragent {
    source => "agent"
    target => "useragent"
}

werden folgenden Daten später bereitgestellt

 "useragent" => {
       "name" => "IE",
         "os" => "Windows 8.1",
    "os_name" => "Windows 8.1",
     "device" => "Other",
      "major" => "11",
      "minor" => "0"

Diese kann man dann in Kibana in einem Kuchendiagramm so darstellen. Der innere Kreis zeigt die Browser an und auf dem äußeren Kreis werden die Betriebssysteme dargestellt.

Logstash Kibana Useragents