diff --git a/apm-collector/apm-collector-boot/bin/collectorService.sh b/apm-collector/apm-collector-boot/bin/collectorService.sh index db5147865afbacce8523a7c4a2d10b77488555e7..05e1f17d0ccc88dd78f1ee9dce569bac7703cb77 100644 --- a/apm-collector/apm-collector-boot/bin/collectorService.sh +++ b/apm-collector/apm-collector-boot/bin/collectorService.sh @@ -20,9 +20,9 @@ do CLASSPATH="$i:$CLASSPATH" done -WEBUI_OPTIONS=" -Dcollector.logDir=${COLLECT_LOG_DIR}" +COLLECTOR_OPTIONS=" -Dcollector.logDir=${COLLECT_LOG_DIR}" -eval exec "\"$_RUNJAVA\" ${JAVA_OPTS} ${WEBUI_OPTIONS} -classpath $CLASSPATH org.skywalking.apm.collector.boot.CollectorBootStartUp \ +eval exec "\"$_RUNJAVA\" ${JAVA_OPTS} ${COLLECTOR_OPTIONS} -classpath $CLASSPATH org.skywalking.apm.collector.boot.CollectorBootStartUp \ 2>${COLLECT_LOG_DIR}/collector.log 1> /dev/null &" if [ $? -eq 0 ]; then diff --git a/apm-collector/apm-collector-boot/docker/Dockerfile b/apm-collector/apm-collector-boot/docker/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..bfc1dcad98ee8329ea329b95c6635b1b7656407d --- /dev/null +++ b/apm-collector/apm-collector-boot/docker/Dockerfile @@ -0,0 +1,29 @@ +FROM openjdk:8u111-jdk + +ENV ZK_ADDRESSES=127.0.0.1:2181 \ + ES_CLUSTER_NAME=CollectorDBCluster \ + ES_ADDRESSES=localhost:9300 \ + BIND_HOST=localhost \ + NAMING_BIND_HOST=localhost \ + NAMING_BIND_PORT=10800 \ + REMOTE_BIND_PORT=11800 \ + AGENT_GRPC_BIND_PORT=11800 \ + AGENT_JETTY_BIND_HOST=localhost \ + AGENT_JETTY_BIND_PORT=12800 \ + UI_JETTY_BIND_PORT=12800 \ + UI_JETTY_BIND_HOST=localhost + +ADD skywalking-collector.tar.gz /usr/local +COPY collectorService.sh /usr/local/skywalking-collector/bin +COPY log4j2.xml /usr/local/skywalking-collector/config +COPY application.yml /usr/local/skywalking-collector/config +COPY docker-entrypoint.sh / + +RUN chmod +x /usr/local/skywalking-collector/bin/collectorService.sh && chmod +x /docker-entrypoint.sh + +EXPOSE 10800 +EXPOSE 11800 +EXPOSE 12800 + +ENTRYPOINT ["/docker-entrypoint.sh"] +CMD ["/usr/local/skywalking-collector/bin/collectorService.sh"] diff --git a/apm-collector/apm-collector-boot/docker/application.yml b/apm-collector/apm-collector-boot/docker/application.yml new file mode 100644 index 0000000000000000000000000000000000000000..50e2daa32f2f1a2bfc676486146856d87e1a5e26 --- /dev/null +++ b/apm-collector/apm-collector-boot/docker/application.yml @@ -0,0 +1,39 @@ +cluster: + zookeeper: + hostPort: {ZK_ADDRESSES} + sessionTimeout: 100000 +naming: + jetty: + host: {NAMING_BIND_HOST} + port: {NAMING_BIND_PORT} + context_path: / +remote: + gRPC: + host: {BIND_HOST} + port: {REMOTE_BIND_PORT} +agent_gRPC: + gRPC: + host: {BIND_HOST} + port: {AGENT_GRPC_BIND_PORT} +agent_jetty: + jetty: + host: {AGENT_JETTY_BIND_HOST} + port: {AGENT_JETTY_BIND_PORT} + context_path: / +agent_stream: + default: + buffer_file_path: ../buffer/ + buffer_offset_max_file_size: 10M + buffer_segment_max_file_size: 500M +ui: + jetty: + host: {UI_JETTY_BIND_HOST} + port: {UI_JETTY_BIND_PORT} + context_path: / +storage: + elasticsearch: + cluster_name: {ES_CLUSTER_NAME} + cluster_transport_sniffer: true + cluster_nodes: {ES_ADDRESSES} + index_shards_number: 2 + index_replicas_number: 0 diff --git a/apm-collector/apm-collector-boot/docker/collectorService.sh b/apm-collector/apm-collector-boot/docker/collectorService.sh new file mode 100644 index 0000000000000000000000000000000000000000..919015eee5a5025591dfdc68d4a1ae72861efc3b --- /dev/null +++ b/apm-collector/apm-collector-boot/docker/collectorService.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env sh + +PRG="$0" +PRGDIR=`dirname "$PRG"` +[ -z "$COLLECTOR_HOME" ] && COLLECTOR_HOME=`cd "$PRGDIR/.." >/dev/null; pwd` + +COLLECT_LOG_DIR="${COLLECTOR_HOME}/logs" +JAVA_OPTS=" -Xms256M -Xmx512M" + +if [ ! -d "${COLLECTOR_HOME}/logs" ]; then + mkdir -p "${COLLECT_LOG_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 + +${_RUNJAVA} ${JAVA_OPTS} -classpath $CLASSPATH org.skywalking.apm.collector.boot.CollectorBootStartUp diff --git a/apm-collector/apm-collector-boot/docker/docker-entrypoint.sh b/apm-collector/apm-collector-boot/docker/docker-entrypoint.sh new file mode 100644 index 0000000000000000000000000000000000000000..ab9fe8e7e09bc26f0626355487489c7231f1558c --- /dev/null +++ b/apm-collector/apm-collector-boot/docker/docker-entrypoint.sh @@ -0,0 +1,40 @@ +#!/bin/sh + +echo "replace {ZK_ADDRESSES} to ${ZK_ADDRESSES}" +eval sed -i -e 's/\{ZK_ADDRESSES\}/${ZK_ADDRESSES}/' /usr/local/skywalking-collector/config/application.yml + +echo "replace {ES_CLUSTER_NAME} to ${ES_CLUSTER_NAME}" +eval sed -i -e 's/\{ES_CLUSTER_NAME\}/${ES_CLUSTER_NAME}/' /usr/local/skywalking-collector/config/application.yml + +echo "replace {ES_ADDRESSES} to ${ES_ADDRESSES}" +eval sed -i -e 's/\{ES_ADDRESSES\}/${ES_ADDRESSES}/' /usr/local/skywalking-collector/config/application.yml + +echo "replace {BIND_HOST} to ${BIND_HOST}" +eval sed -i -e 's/\{BIND_HOST\}/${BIND_HOST}/' /usr/local/skywalking-collector/config/application.yml + +echo "replace {NAMING_BIND_HOST} to ${NAMING_BIND_HOST}" +eval sed -i -e 's/\{NAMING_BIND_HOST\}/${NAMING_BIND_HOST}/' /usr/local/skywalking-collector/config/application.yml + +echo "replace {NAMING_BIND_PORT} to ${NAMING_BIND_PORT}" +eval sed -i -e 's/\{NAMING_BIND_PORT\}/${NAMING_BIND_PORT}/' /usr/local/skywalking-collector/config/application.yml + +echo "replace {REMOTE_BIND_PORT} to ${REMOTE_BIND_PORT}" +eval sed -i -e 's/\{REMOTE_BIND_PORT\}/${REMOTE_BIND_PORT}/' /usr/local/skywalking-collector/config/application.yml + +echo "replace {AGENT_GRPC_BIND_PORT} to ${AGENT_GRPC_BIND_PORT}" +eval sed -i -e 's/\{AGENT_GRPC_BIND_PORT\}/${AGENT_GRPC_BIND_PORT}/' /usr/local/skywalking-collector/config/application.yml + +echo "replace {AGENT_JETTY_BIND_HOST} to ${AGENT_JETTY_BIND_HOST}" +eval sed -i -e 's/\{AGENT_JETTY_BIND_HOST\}/${AGENT_JETTY_BIND_HOST}/' /usr/local/skywalking-collector/config/application.yml + +echo "replace {AGENT_JETTY_BIND_PORT} to ${AGENT_JETTY_BIND_PORT}" +eval sed -i -e 's/\{AGENT_JETTY_BIND_PORT\}/${AGENT_JETTY_BIND_PORT}/' /usr/local/skywalking-collector/config/application.yml + +echo "replace {UI_JETTY_BIND_PORT} to ${UI_JETTY_BIND_PORT}" +eval sed -i -e 's/\{UI_JETTY_BIND_PORT\}/${UI_JETTY_BIND_PORT}/' /usr/local/skywalking-collector/config/application.yml + +echo "replace {UI_JETTY_BIND_HOST} to ${UI_JETTY_BIND_HOST}" +eval sed -i -e 's/\{UI_JETTY_BIND_HOST\}/${UI_JETTY_BIND_HOST}/' /usr/local/skywalking-collector/config/application.yml + + +exec "$@" diff --git a/apm-collector/apm-collector-boot/docker/log4j2.xml b/apm-collector/apm-collector-boot/docker/log4j2.xml new file mode 100644 index 0000000000000000000000000000000000000000..e6915ec9a54802bd25a28e337441817359cde80a --- /dev/null +++ b/apm-collector/apm-collector-boot/docker/log4j2.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/apm-collector/apm-collector-boot/pom.xml b/apm-collector/apm-collector-boot/pom.xml index 9431eec545c17c0544c49890541a54ee41d6f9cb..e95679cc736a54cae5aa8312818185ab04b8c1a5 100644 --- a/apm-collector/apm-collector-boot/pom.xml +++ b/apm-collector/apm-collector-boot/pom.xml @@ -30,6 +30,11 @@ apm-collector-boot jar + + skywalking/skywalking-collector + ${version} + + org.yaml @@ -148,7 +153,7 @@ - Skywalking-Collector + skywalking-collector maven-compiler-plugin @@ -191,10 +196,31 @@ src/main/assembly/assembly.xml + ${project.basedir}/../../packages + + com.spotify + docker-maven-plugin + ${docker.plugin.version} + + false + ${docker.image.name} + + ${docker.image.version} + + ${project.basedir}/docker + + + / + ${project.basedir}/../../packages + ${build.finalName}.tar.gz + + + + diff --git a/docker-compose.yml b/docker-compose.yml index 233cc714bdf87b38c10c54dc94c10540d6b280ba..39a54b811a799893b1b3a1f37c836f994ba25775 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -36,10 +36,11 @@ services: - ZK_ADDRESSES=zookeeper-server:2181 - ES_ADDRESSES=es-server:9300 - BIND_HOST=0.0.0.0 - - UI_BIND_HOST=skywalking-collector - - CLUSTER_BIND_HOST=0.0.0.0 + - AGENT_JETTY_BIND_HOST=skywalking-collector + - NAMING_BIND_HOST=skywalking-collector + - UI_JETTY_BIND_HOST=skywalking-collector healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:10800/agentstream/grpc"] + test: ["CMD", "curl", "-f", "http://skywalking-collector:10800/agent/gRPC"] interval: 10s timeout: 10s retries: 5