diff --git a/apm-collector/apm-collector-boot/bin/collector-service.bat b/apm-collector/apm-collector-boot/bin/collector-service.bat new file mode 100755 index 0000000000000000000000000000000000000000..d42686a9d923464f5eae5ed5ad3c13ceaaf7579d --- /dev/null +++ b/apm-collector/apm-collector-boot/bin/collector-service.bat @@ -0,0 +1,20 @@ +@echo off + +setlocal +set COLLECOTR_PROCESS_TITLE=Skywalking-Collector +set COLLECTOR_BASE_PATH=%~dp0%.. +set COLLECTOR_RUNTIME_OPTIONS="-Xms256M -Xmx512M" + +set CLASSPATH=%COLLECTOR_BASE_PATH%\config; +SET CLASSPATH=%COLLECTOR_BASE_PATH%\libs\*;%CLASSPATH% + +if ""%JAVA_HOME%"" == """" ( + set _EXECJAVA=java +) else ( + set _EXECJAVA="%JAVA_HOME%"/bin/java +) + +start /MIN "%COLLECOTR_PROCESS_TITLE%" %_EXECJAVA% "%COLLECTOR_RUNTIME_OPTIONS%" -cp "%CLASSPATH%" org.skywalking.apm.collector.boot.CollectorBootStartUp & +echo Collector started successfully! + +endlocal \ No newline at end of file diff --git a/apm-collector/apm-collector-boot/bin/collector-service.sh b/apm-collector/apm-collector-boot/bin/collector-service.sh new file mode 100755 index 0000000000000000000000000000000000000000..624126659e8a661ae4c5ca3c7c6c77cfbc38cf67 --- /dev/null +++ b/apm-collector/apm-collector-boot/bin/collector-service.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +PRG="$0" +PRGDIR=`dirname "$PRG"` +[ -z "$COLLECTOR_HOME" ] && COLLECTOR_HOME=`cd "$PRGDIR/.." >/dev/null; pwd` + +COLLECTOR_LOGS_DIR="${COLLECTOR_HOME}/logs" +JAVA_OPTS=" -Xms256M -Xmx512M" + +if [ ! -d "${COLLECTOR_HOME}/logs" ]; then + mkdir -p "${COLLECTOR_LOGS_DIR}" +fi + +_RUNJAVA=${JAVA_HOME}/bin/java +[ -z "$JAVA_HOME" ] && _RUNJAVA=`java` + +CLASSPATH="$COLLECTOR_HOME/config:$CLASSPATH" +for i in "$COLLECTOR_HOME"/libs/*.jar +do + CLASSPATH="$i:$CLASSPATH" +done + +echo "Starting collector...." +eval exec "\"$_RUNJAVA\" ${JAVA_OPTS} -classpath $CLASSPATH org.skywalking.apm.collector.boot.CollectorBootStartUp \ + 2>${COLLECTOR_LOGS_DIR}/collector.log 1> /dev/null &" + +retval=$? +pid=$! +FAIL_MSG="Collector started failure!" +SUCCESS_MSG="Collector started successfully!" +[ ${retval} -eq 0 ] || (echo ${FAIL_MSG}; exit ${retval}) +sleep 1 +if ! ps -p ${pid} > /dev/null ; then + echo ${FAIL_MSG} + exit 1 +fi +echo ${SUCCESS_MSG} \ No newline at end of file diff --git a/apm-collector/apm-collector-boot/bin/startup.bat b/apm-collector/apm-collector-boot/bin/startup.bat new file mode 100755 index 0000000000000000000000000000000000000000..22023060dedebf3f4f191bb1cd7a91cbcfbb1f4e --- /dev/null +++ b/apm-collector/apm-collector-boot/bin/startup.bat @@ -0,0 +1,5 @@ +@echo off + +setlocal +call "%~dp0"\collector-service.bat start +endlocal \ No newline at end of file diff --git a/apm-collector/apm-collector-boot/bin/startup.sh b/apm-collector/apm-collector-boot/bin/startup.sh new file mode 100755 index 0000000000000000000000000000000000000000..7f9c0d3abe0074c15f3b5da24a6b3811b4ab9e71 --- /dev/null +++ b/apm-collector/apm-collector-boot/bin/startup.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +PRG="$0" +PRGDIR=`dirname "$PRG"` +EXECUTABLE=collector-service.sh + +exec "$PRGDIR"/"$EXECUTABLE" start \ No newline at end of file diff --git a/apm-collector/apm-collector-boot/pom.xml b/apm-collector/apm-collector-boot/pom.xml index 8f089d54a31200f5d2167e9294696ecf4d1fa6c2..164119033c715daac60831361396a74a13f510b8 100644 --- a/apm-collector/apm-collector-boot/pom.xml +++ b/apm-collector/apm-collector-boot/pom.xml @@ -12,6 +12,13 @@ apm-collector-boot jar + + org.skywalking.apm.collector.boot.CollectorBootStartUp + UTF-8 + skywalking/${artifactId} + ${version} + + org.skywalking @@ -54,4 +61,73 @@ ${project.version} + + + skywalking-collector + + + org.apache.maven.plugins + maven-jar-plugin + 2.3.2 + + + *.xml + *.config + *.yml + + + + ${main.class} + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + assembly + package + + single + + + + src/main/assembly/assembly.xml + + + + + + + com.spotify + docker-maven-plugin + ${docker.plugin.version} + + false + ${docker.image.name} + + ${docker.image.version} + + ${project.basedir}/docker + + + / + ${project.build.directory} + ${build.finalName}.tar.gz + + + + + + org.apache.maven.plugins + maven-resources-plugin + 2.4.3 + + ${project.build.sourceEncoding} + + + + \ No newline at end of file diff --git a/apm-collector/apm-collector-boot/src/main/assembly/assembly.xml b/apm-collector/apm-collector-boot/src/main/assembly/assembly.xml new file mode 100644 index 0000000000000000000000000000000000000000..e0155090755ba5c14fc6d56ba9ac6f396c9fba0b --- /dev/null +++ b/apm-collector/apm-collector-boot/src/main/assembly/assembly.xml @@ -0,0 +1,42 @@ + + + + tar.gz + zip + + + + /libs + runtime + + + + + ${project.basedir}/bin + /bin + + *.sh + *.bat + + 0755 + + + src/main/resources + + application.yml + logback.xml + + /config + + + ${project.build.directory} + /libs + + ${build.finalName}.jar + + + + \ No newline at end of file diff --git a/apm-collector/apm-collector-boot/src/main/resources/logback.xml b/apm-collector/apm-collector-boot/src/main/resources/logback.xml index a0ca18fb1bfa8a38d2624ab232163c757caa524e..19158044a6ad74b460fcb9d2f7b64dd84a7f74f6 100644 --- a/apm-collector/apm-collector-boot/src/main/resources/logback.xml +++ b/apm-collector/apm-collector-boot/src/main/resources/logback.xml @@ -1,10 +1,20 @@ + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + ${LOG_PATH}/skywalking-server-log4j2.log + true + true + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + @@ -12,5 +22,6 @@ + \ No newline at end of file diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/util/DefinitionLoader.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/util/DefinitionLoader.java index d728dcbc166af813a67ef302297f0568d8df2f2e..9030b1c2db4d491361c4e33ac55f20d561649f1d 100644 --- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/util/DefinitionLoader.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/util/DefinitionLoader.java @@ -1,7 +1,8 @@ package org.skywalking.apm.collector.core.util; -import java.io.FileReader; +import java.io.BufferedReader; import java.io.IOException; +import java.io.InputStreamReader; import java.net.URL; import java.util.Enumeration; import java.util.Iterator; @@ -41,7 +42,8 @@ public class DefinitionLoader implements Iterable { while (urlEnumeration.hasMoreElements()) { URL definitionFileURL = urlEnumeration.nextElement(); logger.info("definition file url: {}", definitionFileURL.getPath()); - properties.load(new FileReader(definitionFileURL.getPath())); + BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(definitionFileURL.openStream())); + properties.load(bufferedReader); Enumeration defineItem = properties.propertyNames(); while (defineItem.hasMoreElements()) {