diff --git a/README.md b/README.md index 2f6ba00..aa1c414 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,13 @@ export WEB_DESCRIPTOR_PATH=/path/to/web.xml # web application config xml export WEB_SOCKET_ENDPOINT_PATH=/ws-log # web socket endpoint context path export WEB_SOCKET_MAX_MESSAGE_SIZE=65535 # web socket max message size in bytes export WEB_SOCKET_IDLE_TIMEOUT_SECONDS=300 # web socket idle timeout in seconds +export SYSLOG_PROTOCOL=tcp # syslog protocol +export SYSLOG_HOST=localhost # syslog host +export SYSLOG_PORT=2514 # syslog port +export JSON_ADAPTER_BIND_ADDRESS=127.0.0.1 # json adapter bind address +export JSON_ADAPTER_PORT=28080 # json adapter port +export JSON_ADAPTER_PATH=/save-logs # json adapter path +export JSON_ADAPTER_TOKEN=token # json adapter token ``` Start server uber-jar: ```shell diff --git a/srvlog-it/src/test/java/com/payneteasy/srvlog/syslog/Syslog4jAdaptorAndSimpleLogCollectorIntegrationTest.java b/srvlog-it/src/test/java/com/payneteasy/srvlog/syslog/Syslog4jAdaptorAndSimpleLogCollectorIntegrationTest.java index 666496d..9a7606c 100644 --- a/srvlog-it/src/test/java/com/payneteasy/srvlog/syslog/Syslog4jAdaptorAndSimpleLogCollectorIntegrationTest.java +++ b/srvlog-it/src/test/java/com/payneteasy/srvlog/syslog/Syslog4jAdaptorAndSimpleLogCollectorIntegrationTest.java @@ -1,6 +1,7 @@ package com.payneteasy.srvlog.syslog; import com.nesscomputing.syslog4j.Syslog; +import com.nesscomputing.syslog4j.SyslogConstants; import com.nesscomputing.syslog4j.SyslogFacility; import com.nesscomputing.syslog4j.SyslogIF; import com.payneteasy.srvlog.CommonIntegrationTest; @@ -89,6 +90,11 @@ public String getSyslogProtocol() { return "tcp"; } + @Override + public String getSyslogHost() { + return SyslogConstants.SYSLOG_HOST_DEFAULT; + } + @Override public int getSyslogPort() { return 1514; diff --git a/srvlog-service/src/main/java/com/payneteasy/srvlog/adapter/syslog/ISyslogAdapterConfig.java b/srvlog-service/src/main/java/com/payneteasy/srvlog/adapter/syslog/ISyslogAdapterConfig.java index 6d1c8aa..7f8bbc4 100644 --- a/srvlog-service/src/main/java/com/payneteasy/srvlog/adapter/syslog/ISyslogAdapterConfig.java +++ b/srvlog-service/src/main/java/com/payneteasy/srvlog/adapter/syslog/ISyslogAdapterConfig.java @@ -1,11 +1,18 @@ package com.payneteasy.srvlog.adapter.syslog; +import com.payneteasy.startup.parameters.AStartupParameter; + /** * Date: 04.01.13 */ public interface ISyslogAdapterConfig { + @AStartupParameter(name = "SYSLOG_PROTOCOL", value = "tcp") String getSyslogProtocol(); + @AStartupParameter(name = "SYSLOG_HOST", value = "localhost") + String getSyslogHost(); + + @AStartupParameter(name = "SYSLOG_PORT", value = "2514") int getSyslogPort(); } diff --git a/srvlog-service/src/main/java/com/payneteasy/srvlog/adapter/syslog/SpringSyslogAdapterConfig.java b/srvlog-service/src/main/java/com/payneteasy/srvlog/adapter/syslog/SpringSyslogAdapterConfig.java deleted file mode 100644 index 5a4ec08..0000000 --- a/srvlog-service/src/main/java/com/payneteasy/srvlog/adapter/syslog/SpringSyslogAdapterConfig.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.payneteasy.srvlog.adapter.syslog; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; - -/** - * Date: 04.01.13 - */ -@Service -public class SpringSyslogAdapterConfig implements ISyslogAdapterConfig{ - - @Override - public String getSyslogProtocol() { - return syslog4jProtocol; - } - - @Override - public int getSyslogPort() { - return syslog4jPort; - } - - @Value( "${port}" ) - private int syslog4jPort; - - @Value( "${protocol}" ) - private String syslog4jProtocol; -} diff --git a/srvlog-service/src/main/java/com/payneteasy/srvlog/adapter/syslog/SyslogAdapter.java b/srvlog-service/src/main/java/com/payneteasy/srvlog/adapter/syslog/SyslogAdapter.java index 598964a..e91212f 100644 --- a/srvlog-service/src/main/java/com/payneteasy/srvlog/adapter/syslog/SyslogAdapter.java +++ b/srvlog-service/src/main/java/com/payneteasy/srvlog/adapter/syslog/SyslogAdapter.java @@ -10,6 +10,7 @@ import com.payneteasy.srvlog.data.LogFacility; import com.payneteasy.srvlog.data.LogLevel; import com.payneteasy.srvlog.service.ILogCollector; +import com.payneteasy.startup.parameters.StartupParametersFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -33,8 +34,8 @@ public class SyslogAdapter implements SyslogServerSessionlessEventHandlerIF { @Autowired private ILogCollector logCollector; - @Autowired - private ISyslogAdapterConfig logAdapterConfig; + private ISyslogAdapterConfig logAdapterConfig = StartupParametersFactory + .getStartupParameters(ISyslogAdapterConfig.class); private SnortMessageManager snortMessageManager; @@ -46,6 +47,7 @@ public class SyslogAdapter implements SyslogServerSessionlessEventHandlerIF { public void init() { suricataMessageManager = new SuricataMessageManager(checkNotNull(logCollector, "No logCollector")); + String host = logAdapterConfig.getSyslogHost(); int port = logAdapterConfig.getSyslogPort(); String protocol = logAdapterConfig.getSyslogProtocol(); LOG.info(" Starting syslog4j server on port = {} and on protocol = {} ...", port, protocol ); @@ -56,6 +58,7 @@ public void init() { SyslogServer.initialize(); // Now create a new instance of Syslog. syslog4jInstance = SyslogServer.getInstance(protocol); + syslog4jInstance.getConfig().setHost(host); syslog4jInstance.getConfig().setPort(port); syslog4jInstance.getConfig().addEventHandler(this); syslog4jInstance.getConfig().setUseStructuredData(true); diff --git a/srvlog-service/src/main/resources/syslog4j.properties b/srvlog-service/src/main/resources/syslog4j.properties deleted file mode 100644 index de2b09d..0000000 --- a/srvlog-service/src/main/resources/syslog4j.properties +++ /dev/null @@ -1,2 +0,0 @@ -port=2514 -protocol=tcp \ No newline at end of file diff --git a/srvlog-service/src/test/java/com/payneteasy/srvlog/service/SimpleLogCollectorTest.java b/srvlog-service/src/test/java/com/payneteasy/srvlog/service/SimpleLogCollectorTest.java index 3b984b9..c85a373 100644 --- a/srvlog-service/src/test/java/com/payneteasy/srvlog/service/SimpleLogCollectorTest.java +++ b/srvlog-service/src/test/java/com/payneteasy/srvlog/service/SimpleLogCollectorTest.java @@ -114,6 +114,11 @@ public String getSyslogProtocol() { return SyslogConstants.UDP; } + @Override + public String getSyslogHost() { + return SyslogConstants.SYSLOG_HOST_DEFAULT; + } + @Override public int getSyslogPort() { return 1514; diff --git a/srvlog-web/src/main/java/com/payneteasy/srvlog/ShowVersionServlet.java b/srvlog-web/src/main/java/com/payneteasy/srvlog/ShowVersionServlet.java index 13757f2..d35e69a 100644 --- a/srvlog-web/src/main/java/com/payneteasy/srvlog/ShowVersionServlet.java +++ b/srvlog-web/src/main/java/com/payneteasy/srvlog/ShowVersionServlet.java @@ -19,6 +19,8 @@ public class ShowVersionServlet extends HttpServlet { private static final Logger LOG = LoggerFactory.getLogger(ShowVersionServlet.class); + private static final String POM_PROPS_PATH = "/META-INF/maven/com.payneteasy.srvlog/srvlog-web/pom.properties"; + private volatile String version = "no init"; @Override @@ -30,8 +32,8 @@ protected void service(HttpServletRequest request, HttpServletResponse response) @Override public void init(ServletConfig config) throws ServletException { Properties properties = new Properties(); - InputStream in = config.getServletContext().getResourceAsStream("/META-INF/maven/com.payneteasy.srvlog/srvlog-web/pom.properties"); - if(in == null) { + InputStream in = getClass().getResourceAsStream(POM_PROPS_PATH); + if (in == null) { version = "no input stream"; return; } diff --git a/srvlog-web/src/test/resources/syslog4j.properties b/srvlog-web/src/test/resources/syslog4j.properties deleted file mode 100644 index de2b09d..0000000 --- a/srvlog-web/src/test/resources/syslog4j.properties +++ /dev/null @@ -1,2 +0,0 @@ -port=2514 -protocol=tcp \ No newline at end of file