<div dir="ltr"><div><div>I managed to install syslog-ng-java-3.16 from your repo. <br></div><div>I set the environment variable manually to my newest java implementation which is openjdk-1.8.0 and set up /etc/profile.local (as per <a href="https://unix.stackexchange.com/questions/117467/how-to-permanently-set-environmental-variables">https://unix.stackexchange.com/questions/117467/how-to-permanently-set-environmental-variables</a>) to supposedly do this every time I log in so I do not have to care about it.</div><div><br></div><div>--syntax-only now no longer 'complains' however syslog does not successfully restart:</div><div><br></div><div>syslog-test:/etc/syslog-ng # systemctl status -l syslog-ng <br>● syslog-ng.service - System Logging Service<br>   Loaded: loaded (/usr/lib/systemd/system/syslog-ng.service; enabled; vendor preset: disabled)<br>   Active: failed (Result: exit-code) since Die 2018-07-03 15:06:27 CEST; 12s ago<br>  Process: 13561 ExecStart=/usr/sbin/syslog-ng -F $SYSLOG_NG_PARAMS (code=exited, status=1/FAILURE)<br>  Process: 13556 ExecStartPre=/usr/sbin/syslog-ng-service-prepare (code=exited, status=0/SUCCESS)<br> Main PID: 13561 (code=exited, status=1/FAILURE)<br><br>Jul 03 15:06:27 syslog-test systemd[1]: Stopped System Logging Service.<br>Jul 03 15:06:27 syslog-test systemd[1]: Starting System Logging Service...<br>Jul 03 15:06:27 syslog-test systemd[1]: Started System Logging Service.<br>Jul 03 15:06:27 syslog-test systemd[1]: syslog-ng.service: Main process exited, code=exited, status=1/FAILURE<br>Jul 03 15:06:27 syslog-test systemd[1]: syslog-ng.service: Unit entered failed state.<br>Jul 03 15:06:27 syslog-test systemd[1]: syslog-ng.service: Failed with result 'exit-code'.</div><div><br></div><div>Syslog-NG Config<br></div>############### Globale Optionen ###############<br>@version:3.16<br>@module mod-java               # Elasticsearch .jar-libraries are located in /opt/syslog-ng/lib/syslog-ng/java-modules/<br>@include "scl.conf"<br><br>options {<br>        chain_hostnames(off);   # Standard<br>        flush_lines(0);         # Standard<br>        perm(0640);             # Standard<br>        stats_freq(3600);       # Standard<br>        threaded(yes);          # Standard <br>        create-dirs(yes);       # erlaubt Syslog-NG, falls noetig, neue Verzeichnisse anzulegen<br>        dir-owner(root);        # die neuen Verzeichnisse gehoeren root<br>        dir-perm(0640);         # entspricht -rw-r-----, Besitzer: Lesen, Schreiben; Gruppe: Lesen; Alle: Nichts<br>        file-template(t_myLoggingFormat); # legt Standart-Template fuer file Destinations fest<br>#       threaded(yes);          # Example config Elasticsearch2<br>#       use-uniqid(yes);        # Example config Elasticsearch2<br>};<br><br>############### Sources - Quellen ###############<br># Fuer interne Nachrichten<br>source s_myInternalSource {<br>        system();       # von Betriebssystem und aehnlichem<br>        internal();     # Syslog-interne Nachrichten<br>};<br><br># Fuer Netzwerk-Nachrichten<br>source s_myNetworkSource {<br>};<br><br>############### Templates - Vorlagen ###############<br># Aufbau des Nachrichteninhalts fuer Dateiziele<br>template t_myLoggingFormat {<br>        template("$(padding ${FULLHOST} 15 '')|${ISODATE}|PRI:$(padding ${PRI} 3 '')|${MSGHDR} ${MSG}\n");<br>};<br><br># Legacy-Nachrichten werden anders geparst<br># Mit Standardtempalte wir die Originalnachricht vollständig in MSG eingefügt<br><br># Fuer Nachrichtenpfad<br># Dateiname ist Tag(Nummer innerhalb des Monats)-Kuerzel(Mon, Tue, Wen, Thu, Fri, Sat, Sun)<br># zum Beispiel "<a href="http://127.0.0.1/2018/2018-01-17.log">127.0.0.1/2018/2018-01-17.log</a>"<br>template t_destination {<br>        template("${FULLHOST}/${YEAR}/${YEAR}-${MONTH_ABBREV}-${DAY}.log");<br>};<br><br>############### Filter ###############<br># Ein Filter je Quelle<br># Filter kann man so machen: <br># filter <filter-id><br># {"<macro-or-template>" operator "<value-or-macro-or-template>"};<br># oder mit Functions<br>filter f_noDebug {<br>        level(emerg..info);             # Schließt Debug-Nachrichten aus <br>};<br><br><div>filter f_networkfilter {</div><div>};</div><div><br></div><div><br>############### Parser #############################<br>parser pattern_db {<br>        db-parser(<br>                file("/opt/syslog-ng/etc/patterndb.xml")<br>        );<br>};<br><br>############### Ziele - Destinations ###############<br># Ein Ziel fuer jede IP-Adresse, Jahr, Monat, Tag, etc<br>destination d_myDestination {<br>        file("/var/log/syslog-ng/$FULLHOST/$YEAR/$YEAR-$MONTH-$DAY.log"<br>                create_dirs(yes)<br>        );<br>};<br><br>destination d_testination {<br>        file("/var/log/syslog-ng/test/$FULLHOST/$YEAR/$YEAR-$MONTH-$DAY.log"<br>                create_dirs(yes)<br>        );<br>};<br><br>destination d_elasticsearch {<br>        elasticsearch2(<br>                cluster("syslog-ng")<br>#               client-mode("http")<br>                index("syslog-ng")<br>                type("test")<br>#               template("$(format-json --scope rfc5424 --scope nv-pairs --exclude DATE --key ISODATE)")<br>        )<br>};<br>############### Log-Pfade ###############<br># <br>log {<br>        source(s_myNetworkSource);              # Fuer TCP und UDP Nachrichten von allen Clients<br>        source(s_myInternalSource);             # interne Nachrichten<br>        filter(f_networkfilter);                <br>        filter(f_noDebug);                      # alle außer debug<br>        destination(d_myDestination);           # universal Ziel; siehe Template<br>};<br>#<br>log {<br>        source(s_myNetworkSource);<br>        source(s_myInternalSource);<br>        parser(f_networkfilter);<br>        destination(d_elasticsearch);<br>        flags(flow-control);<br>};<br></div><div>################# Ende #################<br></div><div><br></div><div><br></div>Sincerely</div><div><br></div><div>Niklas Deffner<br></div></div>