{"id":6719,"date":"2020-04-07T16:23:36","date_gmt":"2020-04-07T14:23:36","guid":{"rendered":"https:\/\/u-labs.de\/portal\/?p=6719"},"modified":"2020-04-07T16:23:37","modified_gmt":"2020-04-07T14:23:37","slug":"logs-mit-logstash-unter-windows-parsen-und-an-elasticsearch-uebermitteln","status":"publish","type":"post","link":"https:\/\/u-labs.de\/portal\/logs-mit-logstash-unter-windows-parsen-und-an-elasticsearch-uebermitteln\/","title":{"rendered":"Logs mit Logstash unter Windows parsen und an Elasticsearch \u00fcbermitteln"},"content":{"rendered":"<p>Der ELK (<strong>E<\/strong>lasticsearch, <strong>L<\/strong>ogstash und <strong>K<\/strong>ibana) Stack hat sich zum Quasi-Standardwerkzeug f\u00fcr das Sammeln und Auswerten von Logdateien entwickelt. Die Open Source Werkzeuge stammen traditionell ehre aus dem Linux-Bereich. Durch die Verwendung von Java wird mittlerweile auch Windows unterst\u00fctzt. Gerade bei Logstash ist dies praktisch: So k\u00f6nnen die Logs von Windows-Servern ebenfalls mit Logstash geparst und an eine Elasticsearch-Instanz \u00fcbermittelt werden. Es ist keine gesonderte L\u00f6sung f\u00fcr Software n\u00f6tig, die Microsofts Betriebssystem ben\u00f6tigt. Dieser Artikel zeigt die Installation auf einem Windows Server 2016.<\/p>\n<h2 class=\"wp-block-heading\">Ben\u00f6tigte Software<\/h2>\n<ul class=\"wp-block-list\">\n<li>Java in der LTS-Version 8 oder 11, ich empfehle <a href=\"https:\/\/adoptopenjdk.net\/upstream.html\" class=\"aioseop-link\" target=\"_blank\" rel=\"nofollow\">das ebenfalls quelloffene OpenJDK<\/a><\/li>\n<li><a href=\"https:\/\/www.elastic.co\/de\/downloads\/logstash\" class=\"aioseop-link\" target=\"_blank\" rel=\"nofollow\">Logstash (f\u00fcr Windows)<\/a><\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\">Einrichten von Java (OpenJDK)<\/h2>\n<p>F\u00fcr Elasticsearch macht es in meinen Augen sinn, ein eigenes JDK anzulegen. Vor allem wenn bereits ein global installiertes Java vorhanden ist. So ist man unabh\u00e4ngig davon. Je nach Systemart und Pr\u00e4ferenzen kann man Java global oder anwendungsspezifisch lokal installieren. Dies ist im Einzelfall zu entscheiden. Im folgenden Beispiel wird die ZIP-Version nach <strong>D:\\openjdk<\/strong> entpackt.<\/p>\n<p>In einem Terminal kann man \u00fcber die Executable im bin-Ordner pr\u00fcfen, ob Java ausgef\u00fchrt werden kann:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-shell\" data-line=\"\">D:\\openjdk\\bin&gt;java -version\nopenjdk version &quot;1.8.0_242&quot;\nOpenJDK Runtime Environment (build 1.8.0_242-b08)\nOpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)<\/code><\/pre>\n<p>Unter Windows sollte dies i.d.R. ohne weitere Anpassungen funktionieren. <\/p>\n<h2 class=\"wp-block-heading\">Einrichten von Logstash<\/h2>\n<p>Auch hier kann man das ZIP-Archiv in ein beliebiges Verzeichnis entpacken, beispielsweise <strong>D:\\install\\logstash-7.6.1<\/strong>. F\u00fcr die korrekte Funktion der Logstash Java-Anwendung muss die Umgebungsvariable <strong>JAVA_HOME<\/strong> gesetzt sein. Ist Java global in einer von Logstash unterst\u00fctzten Version installiert und JAVA_HOME daf\u00fcr gesetzt, kann diese beibehalten werden.<\/p>\n<p>Ansonsten macht es Sinn, eine Batch-Datei anzulegen. Sie setzt JAVA_HOME (falls erforderlich) und startet Logstash mit der entsprechenden Konfigurationsdatei:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"\" data-line=\"\">set JAVA_HOME=D:\\openjdk\n.\\bin\\logstash.bat -f .\\config\\your-config.conf<\/code><\/pre>\n<p>Die Datei<strong> config\\your-config.conf<\/strong> ist frei w\u00e4hlbar. Sie enth\u00e4lt die Logstash-Konfiguration, welche im Wesentlichen aus 3 Blcken (Eingang, Filter und Ausgangsdaten) besteht. Folgende Datei kann als Vorlage genutzt werden:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"\" data-line=\"\">input {\n\tfile {\n\t\tpath =&gt; &quot;D:\/...&quot;\n\t}\n}\n\nfilter {\n       # ...\n}\noutput {\n\telasticsearch { \n\t\thosts =&gt; [&quot;https:\/\/elasticsearch-host:443&quot;]\n\t\tindex =&gt; &quot;ihs-testsystem01&quot;\n\t}\n\tstdout { codec =&gt; rubydebug }\n}<\/code><\/pre>\n<p>Die <strong>stdout<\/strong> Direktive unter <strong>output<\/strong> ist nur zu Testzwecken gedacht. Sie gibt alle geparsten Logeintr\u00e4ge auf der Konsole aus. F\u00fcr den Produktivbetrieb sollte diese Zeile entfernt werden.<\/p>\n<p>Nach Abschluss der Konfiguration kann man Logstash \u00fcber die angelegte Batchdatei starten. Idealerweise bindet man diese noch als Aufgabe in den Autostart ein.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Der ELK (Elasticsearch, Logstash und Kibana) Stack hat sich zum Quasi-Standardwerkzeug f\u00fcr das Sammeln und Auswerten von Logdateien entwickelt. Die Open Source Werkzeuge stammen traditionell ehre aus dem Linux-Bereich. Durch die Verwendung von Java wird mittlerweile auch Windows unterst\u00fctzt. Gerade bei Logstash ist dies praktisch: So k\u00f6nnen die Logs von Windows-Servern ebenfalls mit Logstash geparst &#8230;<\/p>\n","protected":false},"author":5,"featured_media":6726,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,78],"tags":[800,801,52],"class_list":["post-6719","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","category-software","tag-elk","tag-logstash","tag-windows"],"_links":{"self":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/6719","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/comments?post=6719"}],"version-history":[{"count":5,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/6719\/revisions"}],"predecessor-version":[{"id":6728,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/6719\/revisions\/6728"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media\/6726"}],"wp:attachment":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media?parent=6719"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/categories?post=6719"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/tags?post=6719"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}