Version 3.7 of syslog-ng OSE can directly post log messages to web services using the HTTP protocol. Error and status messages received from the HTTP server are forwarded to the internal logs of syslog-ng OSE.

The current implementation has the following limitations:

Declaration

java(
    class-path("/syslog-ng/install_dir/lib/syslog-ng/java-modules/*.jar")
    class-name("org.syslog_ng.http.HTTPDestination")

    option("url", "http://<server-address>:<port-number>")

);

Example: Sending log data to a web service

The following example defines an http destination.

destination d_http {
    java(
        class-path("/syslog-ng/install_dir/lib/syslog-ng/java-modules/*.jar")
        class-name("org.syslog_ng.http.HTTPDestination")

        option("url", "http://192.168.1.1:80")
    );
};

log
    { source(s_file); destination(d_http); flags(flow-control); };

NOTE: If you delete all Java destinations from your configuration and reload syslog-ng OSE, the JVM is not used anymore, but it is still running. If you want to stop JVM, stop syslog-ng OSE and then start syslog-ng OSE again.

Updated: