diff --git a/apm-collector/apm-collector-boot/docker/Dockerfile b/apm-collector/apm-collector-boot/docker/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..8e5539028f6f9da0ccf5d0faf70a39ad2ddb3eb6 --- /dev/null +++ b/apm-collector/apm-collector-boot/docker/Dockerfile @@ -0,0 +1,28 @@ +FROM openjdk:8u111-jdk + +ENV ZK_ADDRESSES=127.0.0.1:2181 \ + ES_CLUSTER_NAME=CollectorDBCluster \ + ES_ADDRESSES=localhost:9300 \ + BIND_HOST=localhost \ + CLUSTER_BIND_HOST=localhost \ + CLUSTER_BIND_PORT=11800 \ + UI_BIND_HOST=localhost \ + UI_BIND_PORT=12800 \ + GRPC_BIND_PORT=11800 \ + AGENT_SERVER_BIND_PORT=10800 \ + AGENT_STREAM_JETTY_BIND_PORT=12800 + +ADD skywalking-collector.tar.gz /usr/local +COPY collector-service.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/collector-service.sh && chmod +x /docker-entrypoint.sh + +EXPOSE 10800 +EXPOSE 11800 +EXPOSE 12800 + +ENTRYPOINT ["/docker-entrypoint.sh"] +CMD ["/usr/local/skywalking-collector/bin/collector-service.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..a8ab6e69a2c4cd1c10abe8cc8ff7b4faae3d60bc --- /dev/null +++ b/apm-collector/apm-collector-boot/docker/application.yml @@ -0,0 +1,33 @@ +cluster: + zookeeper: + hostPort: {ZK_ADDRESSES} + sessionTimeout: 100000 +agent_server: + jetty: + host: {BIND_HOST} + port: {AGENT_SERVER_BIND_PORT} + context_path: / +agent_stream: + grpc: + host: {BIND_HOST} + port: {GRPC_BIND_PORT} + jetty: + host: {UI_BIND_HOST} + port: {UI_BIND_PORT} + context_path: / +ui: + jetty: + host: {UI_BIND_HOST} + port: {UI_BIND_PORT} + context_path: / +collector_inside: + grpc: + host: {CLUSTER_BIND_HOST} + port: {CLUSTER_BIND_PORT} +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/collector-service.sh b/apm-collector/apm-collector-boot/docker/collector-service.sh new file mode 100755 index 0000000000000000000000000000000000000000..67baa12a75845959522d9ff9be344db989717e18 --- /dev/null +++ b/apm-collector/apm-collector-boot/docker/collector-service.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +PRG="$0" +PRGDIR=`dirname "$PRG"` +[ -z "$COLLECTOR_HOME" ] && COLLECTOR_HOME=`cd "$PRGDIR/.." >/dev/null; pwd` + +CLASSPATH="$COLLECTOR_HOME/config:$CLASSPATH" +for i in "$COLLECTOR_HOME"/libs/*.jar +do + CLASSPATH="$i:$CLASSPATH" +done + +java ${JAVA_OPTS} ${COLLECTOR_OPTIONS} -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..222d2feda4af8a5a68f78cbb17ed01ec45270ec1 --- /dev/null +++ b/apm-collector/apm-collector-boot/docker/docker-entrypoint.sh @@ -0,0 +1,37 @@ +#!/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 {GRPC_BIND_PORT} to ${GRPC_BIND_PORT}" +eval sed -i -e 's/\{GRPC_BIND_PORT\}/${GRPC_BIND_PORT}/' /usr/local/skywalking-collector/config/application.yml + +echo "replace {AGENT_SERVER_BIND_PORT} to ${AGENT_SERVER_BIND_PORT}" +eval sed -i -e 's/\{AGENT_SERVER_BIND_PORT\}/${AGENT_SERVER_BIND_PORT}/' /usr/local/skywalking-collector/config/application.yml + +echo "replace {AGENT_STREAM_JETTY_BIND_PORT} to ${AGENT_STREAM_JETTY_BIND_PORT}" +eval sed -i -e 's/\{AGENT_STREAM_JETTY_BIND_PORT\}/${AGENT_STREAM_JETTY_BIND_PORT}/' /usr/local/skywalking-collector/config/application.yml + +echo "replace {UI_BIND_HOST} to ${UI_BIND_HOST}" +eval sed -i -e 's/\{UI_BIND_HOST\}/${UI_BIND_HOST}/' /usr/local/skywalking-collector/config/application.yml + +echo "replace {UI_BIND_PORT} to ${UI_BIND_PORT}" +eval sed -i -e 's/\{UI_BIND_PORT\}/${UI_BIND_PORT}/' /usr/local/skywalking-collector/config/application.yml + +echo "replace {CLUSTER_BIND_HOST} to ${CLUSTER_BIND_HOST}" +eval sed -i -e 's/\{CLUSTER_BIND_HOST\}/${CLUSTER_BIND_HOST}/' /usr/local/skywalking-collector/config/application.yml + +echo "replace {CLUSTER_BIND_PORT} to ${CLUSTER_BIND_PORT}" +eval sed -i -e 's/\{CLUSTER_BIND_PORT\}/${CLUSTER_BIND_PORT}/' /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..935d76fc6bc8ec8d55b6c67301e1a42658aa2960 --- /dev/null +++ b/apm-collector/apm-collector-boot/docker/log4j2.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/apm-collector/apm-collector-boot/pom.xml b/apm-collector/apm-collector-boot/pom.xml index df816e1d595f4bd823cf28e8b1240d6353cb6712..a377173c0ab114705242e4d2ad6a3820760c8104 100644 --- a/apm-collector/apm-collector-boot/pom.xml +++ b/apm-collector/apm-collector-boot/pom.xml @@ -15,7 +15,7 @@ org.skywalking.apm.collector.boot.CollectorBootStartUp UTF-8 - skywalking/${artifactId} + skywalking/skywalking-collector ${version} @@ -115,7 +115,7 @@ / - ${project.build.directory} + ${project.basedir}/../../packages ${build.finalName}.tar.gz @@ -131,4 +131,4 @@ - \ 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 index 85ae37545558cbed7b7373c568424f3a60595bc6..592e97267760485d41a9e77b2cb935cd8f9f705c 100644 --- a/apm-collector/apm-collector-boot/src/main/assembly/assembly.xml +++ b/apm-collector/apm-collector-boot/src/main/assembly/assembly.xml @@ -27,10 +27,18 @@ src/main/resources application.yml + + + /config + + + src/main/assembly + log4j2.xml /config + ${project.build.directory} /libs diff --git a/apm-collector/apm-collector-boot/src/main/assembly/log4j2.xml b/apm-collector/apm-collector-boot/src/main/assembly/log4j2.xml new file mode 100644 index 0000000000000000000000000000000000000000..c76236792b3bcb4da4bd64246445cc3a04053bba --- /dev/null +++ b/apm-collector/apm-collector-boot/src/main/assembly/log4j2.xml @@ -0,0 +1,26 @@ + + + + ${sys:collector.logDir} + + + + + %d - %c -%-4r [%t] %-5p %x - %m%n + + + + + + + + + + + + + + + + diff --git a/apm-collector/apm-collector-boot/src/main/resources/log4j2.xml b/apm-collector/apm-collector-boot/src/main/resources/log4j2.xml index c76236792b3bcb4da4bd64246445cc3a04053bba..9347ad94410125da4a7be8e574635aae68f69fa0 100644 --- a/apm-collector/apm-collector-boot/src/main/resources/log4j2.xml +++ b/apm-collector/apm-collector-boot/src/main/resources/log4j2.xml @@ -1,26 +1,16 @@ - - ${sys:collector.logDir} - - - - %d - %c -%-4r [%t] %-5p %x - %m%n - - - - - - + + + - + diff --git a/docker-compose.yml b/docker-compose.yml index 0f07a2151346eae7bea9e1d3e9b85fd6d72031c1..008c0b393a67c9a33c3356b25290000fd257406d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,31 +1,60 @@ version: '2.1' services: skywalking-webui: - image: skywalking/sky-walking-ui:3.1-2017 + image: skywalking/skywalking-ui:3.2-2017 expose: - "8080" ports: - "8080:8080" links: - skywalking-collector + depends_on: + skywalking-collector: + condition: service_healthy environment: - - COLLECTOR_SERVERS=skywalking-collector:12800 + - COLLECTOR_SERVERS=skywalking-collector:10800 skywalking-collector: - image: skywalking/skywalking-collector:3.1-2017 + image: skywalking/skywalking-collector:3.2-2017 expose: + - "10800" + - "11800" - "12800" - - "1000" ports: - "12800:12800" + - "11800:11800" + - "10800:10800" depends_on: es-server: condition: service_healthy + zookeeper-server: + condition: service_healthy links: - es-server + - zookeeper-server environment: - - ES_CLUSTER_NODES=es-server:9300 - - HTTP_HOST_NAME=0.0.0.0 + - 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 + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:10800/agentstream/grpc"] + interval: 10s + timeout: 10s + retries: 5 + + zookeeper-server: + image: zookeeper:3.4.9 + expose: + - "2181" + ports: + - "2181:2181" + healthcheck: + test: ["CMD", "/zookeeper-3.4.9/bin/zkServer.sh", "status"] + interval: 10s + timeout: 10s + retries: 5 es-server: image: elasticsearch:5.3 @@ -36,8 +65,11 @@ services: expose: - "9200" - "9300" + ports: + - "9200:9200" + - "9300:9300" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9200"] - interval: 30s + interval: 10s timeout: 10s retries: 5