Skip to content

Commit 6af1644

Browse files
authored
Merge pull request #610 from ascrutae/feature/support-docker-image
support collector docker images
2 parents 33bc0a1 + 4c1c70b commit 6af1644

File tree

8 files changed

+200
-6
lines changed

8 files changed

+200
-6
lines changed

apm-collector/apm-collector-boot/bin/collectorService.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ do
2020
CLASSPATH="$i:$CLASSPATH"
2121
done
2222

23-
WEBUI_OPTIONS=" -Dcollector.logDir=${COLLECT_LOG_DIR}"
23+
COLLECTOR_OPTIONS=" -Dcollector.logDir=${COLLECT_LOG_DIR}"
2424

25-
eval exec "\"$_RUNJAVA\" ${JAVA_OPTS} ${WEBUI_OPTIONS} -classpath $CLASSPATH org.skywalking.apm.collector.boot.CollectorBootStartUp \
25+
eval exec "\"$_RUNJAVA\" ${JAVA_OPTS} ${COLLECTOR_OPTIONS} -classpath $CLASSPATH org.skywalking.apm.collector.boot.CollectorBootStartUp \
2626
2>${COLLECT_LOG_DIR}/collector.log 1> /dev/null &"
2727

2828
if [ $? -eq 0 ]; then
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
FROM openjdk:8u111-jdk
2+
3+
ENV ZK_ADDRESSES=127.0.0.1:2181 \
4+
ES_CLUSTER_NAME=CollectorDBCluster \
5+
ES_ADDRESSES=localhost:9300 \
6+
BIND_HOST=localhost \
7+
NAMING_BIND_HOST=localhost \
8+
NAMING_BIND_PORT=10800 \
9+
REMOTE_BIND_PORT=11800 \
10+
AGENT_GRPC_BIND_PORT=11800 \
11+
AGENT_JETTY_BIND_HOST=localhost \
12+
AGENT_JETTY_BIND_PORT=12800 \
13+
UI_JETTY_BIND_PORT=12800 \
14+
UI_JETTY_BIND_HOST=localhost
15+
16+
ADD skywalking-collector.tar.gz /usr/local
17+
COPY collectorService.sh /usr/local/skywalking-collector/bin
18+
COPY log4j2.xml /usr/local/skywalking-collector/config
19+
COPY application.yml /usr/local/skywalking-collector/config
20+
COPY docker-entrypoint.sh /
21+
22+
RUN chmod +x /usr/local/skywalking-collector/bin/collectorService.sh && chmod +x /docker-entrypoint.sh
23+
24+
EXPOSE 10800
25+
EXPOSE 11800
26+
EXPOSE 12800
27+
28+
ENTRYPOINT ["/docker-entrypoint.sh"]
29+
CMD ["/usr/local/skywalking-collector/bin/collectorService.sh"]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
cluster:
2+
zookeeper:
3+
hostPort: {ZK_ADDRESSES}
4+
sessionTimeout: 100000
5+
naming:
6+
jetty:
7+
host: {NAMING_BIND_HOST}
8+
port: {NAMING_BIND_PORT}
9+
context_path: /
10+
remote:
11+
gRPC:
12+
host: {BIND_HOST}
13+
port: {REMOTE_BIND_PORT}
14+
agent_gRPC:
15+
gRPC:
16+
host: {BIND_HOST}
17+
port: {AGENT_GRPC_BIND_PORT}
18+
agent_jetty:
19+
jetty:
20+
host: {AGENT_JETTY_BIND_HOST}
21+
port: {AGENT_JETTY_BIND_PORT}
22+
context_path: /
23+
agent_stream:
24+
default:
25+
buffer_file_path: ../buffer/
26+
buffer_offset_max_file_size: 10M
27+
buffer_segment_max_file_size: 500M
28+
ui:
29+
jetty:
30+
host: {UI_JETTY_BIND_HOST}
31+
port: {UI_JETTY_BIND_PORT}
32+
context_path: /
33+
storage:
34+
elasticsearch:
35+
cluster_name: {ES_CLUSTER_NAME}
36+
cluster_transport_sniffer: true
37+
cluster_nodes: {ES_ADDRESSES}
38+
index_shards_number: 2
39+
index_replicas_number: 0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/usr/bin/env sh
2+
3+
PRG="$0"
4+
PRGDIR=`dirname "$PRG"`
5+
[ -z "$COLLECTOR_HOME" ] && COLLECTOR_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`
6+
7+
COLLECT_LOG_DIR="${COLLECTOR_HOME}/logs"
8+
JAVA_OPTS=" -Xms256M -Xmx512M"
9+
10+
if [ ! -d "${COLLECTOR_HOME}/logs" ]; then
11+
mkdir -p "${COLLECT_LOG_DIR}"
12+
fi
13+
14+
_RUNJAVA=${JAVA_HOME}/bin/java
15+
[ -z "$JAVA_HOME" ] && _RUNJAVA=java
16+
17+
CLASSPATH="$COLLECTOR_HOME/config:$CLASSPATH"
18+
for i in "$COLLECTOR_HOME"/libs/*.jar
19+
do
20+
CLASSPATH="$i:$CLASSPATH"
21+
done
22+
23+
${_RUNJAVA} ${JAVA_OPTS} -classpath $CLASSPATH org.skywalking.apm.collector.boot.CollectorBootStartUp
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#!/bin/sh
2+
3+
echo "replace {ZK_ADDRESSES} to ${ZK_ADDRESSES}"
4+
eval sed -i -e 's/\{ZK_ADDRESSES\}/${ZK_ADDRESSES}/' /usr/local/skywalking-collector/config/application.yml
5+
6+
echo "replace {ES_CLUSTER_NAME} to ${ES_CLUSTER_NAME}"
7+
eval sed -i -e 's/\{ES_CLUSTER_NAME\}/${ES_CLUSTER_NAME}/' /usr/local/skywalking-collector/config/application.yml
8+
9+
echo "replace {ES_ADDRESSES} to ${ES_ADDRESSES}"
10+
eval sed -i -e 's/\{ES_ADDRESSES\}/${ES_ADDRESSES}/' /usr/local/skywalking-collector/config/application.yml
11+
12+
echo "replace {BIND_HOST} to ${BIND_HOST}"
13+
eval sed -i -e 's/\{BIND_HOST\}/${BIND_HOST}/' /usr/local/skywalking-collector/config/application.yml
14+
15+
echo "replace {NAMING_BIND_HOST} to ${NAMING_BIND_HOST}"
16+
eval sed -i -e 's/\{NAMING_BIND_HOST\}/${NAMING_BIND_HOST}/' /usr/local/skywalking-collector/config/application.yml
17+
18+
echo "replace {NAMING_BIND_PORT} to ${NAMING_BIND_PORT}"
19+
eval sed -i -e 's/\{NAMING_BIND_PORT\}/${NAMING_BIND_PORT}/' /usr/local/skywalking-collector/config/application.yml
20+
21+
echo "replace {REMOTE_BIND_PORT} to ${REMOTE_BIND_PORT}"
22+
eval sed -i -e 's/\{REMOTE_BIND_PORT\}/${REMOTE_BIND_PORT}/' /usr/local/skywalking-collector/config/application.yml
23+
24+
echo "replace {AGENT_GRPC_BIND_PORT} to ${AGENT_GRPC_BIND_PORT}"
25+
eval sed -i -e 's/\{AGENT_GRPC_BIND_PORT\}/${AGENT_GRPC_BIND_PORT}/' /usr/local/skywalking-collector/config/application.yml
26+
27+
echo "replace {AGENT_JETTY_BIND_HOST} to ${AGENT_JETTY_BIND_HOST}"
28+
eval sed -i -e 's/\{AGENT_JETTY_BIND_HOST\}/${AGENT_JETTY_BIND_HOST}/' /usr/local/skywalking-collector/config/application.yml
29+
30+
echo "replace {AGENT_JETTY_BIND_PORT} to ${AGENT_JETTY_BIND_PORT}"
31+
eval sed -i -e 's/\{AGENT_JETTY_BIND_PORT\}/${AGENT_JETTY_BIND_PORT}/' /usr/local/skywalking-collector/config/application.yml
32+
33+
echo "replace {UI_JETTY_BIND_PORT} to ${UI_JETTY_BIND_PORT}"
34+
eval sed -i -e 's/\{UI_JETTY_BIND_PORT\}/${UI_JETTY_BIND_PORT}/' /usr/local/skywalking-collector/config/application.yml
35+
36+
echo "replace {UI_JETTY_BIND_HOST} to ${UI_JETTY_BIND_HOST}"
37+
eval sed -i -e 's/\{UI_JETTY_BIND_HOST\}/${UI_JETTY_BIND_HOST}/' /usr/local/skywalking-collector/config/application.yml
38+
39+
40+
exec "$@"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
~ Copyright 2017, OpenSkywalking Organization All rights reserved.
4+
~
5+
~ Licensed under the Apache License, Version 2.0 (the "License");
6+
~ you may not use this file except in compliance with the License.
7+
~ You may obtain a copy of the License at
8+
~
9+
~ http://www.apache.org/licenses/LICENSE-2.0
10+
~
11+
~ Unless required by applicable law or agreed to in writing, software
12+
~ distributed under the License is distributed on an "AS IS" BASIS,
13+
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
~ See the License for the specific language governing permissions and
15+
~ limitations under the License.
16+
~
17+
~ Project repository: https://github.com/OpenSkywalking/skywalking
18+
-->
19+
20+
<Configuration status="info">
21+
<Appenders>
22+
<Console name="Console" target="SYSTEM_OUT">
23+
<PatternLayout charset="UTF-8" pattern="%d - %c -%-4r [%t] %-5p %x - %m%n"/>
24+
</Console>
25+
</Appenders>
26+
<Loggers>
27+
<logger name="org.eclipse.jetty" level="INFO"/>
28+
<logger name="org.apache.zookeeper" level="INFO"/>
29+
<logger name="org.skywalking.apm.collector.agent.grpc.handler.JVMMetricsServiceHandler" level="INFO"/>
30+
<logger name="org.skywalking.apm.collector.stream.timer.PersistenceTimer" level="INFO"/>
31+
<logger name="io.grpc.netty" level="INFO"/>
32+
<Root level="info">
33+
<AppenderRef ref="Console"/>
34+
</Root>
35+
</Loggers>
36+
</Configuration>

apm-collector/apm-collector-boot/pom.xml

+27-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@
3030
<artifactId>apm-collector-boot</artifactId>
3131
<packaging>jar</packaging>
3232

33+
<properties>
34+
<docker.image.name>skywalking/skywalking-collector</docker.image.name>
35+
<docker.image.version>${version}</docker.image.version>
36+
</properties>
37+
3338
<dependencies>
3439
<dependency>
3540
<groupId>org.yaml</groupId>
@@ -148,7 +153,7 @@
148153
</dependencies>
149154

150155
<build>
151-
<finalName>Skywalking-Collector</finalName>
156+
<finalName>skywalking-collector</finalName>
152157
<plugins>
153158
<plugin>
154159
<artifactId>maven-compiler-plugin</artifactId>
@@ -191,10 +196,31 @@
191196
<descriptors>
192197
<descriptor>src/main/assembly/assembly.xml</descriptor>
193198
</descriptors>
199+
<outputDirectory>${project.basedir}/../../packages</outputDirectory>
194200
</configuration>
195201
</execution>
196202
</executions>
197203
</plugin>
204+
<plugin>
205+
<groupId>com.spotify</groupId>
206+
<artifactId>docker-maven-plugin</artifactId>
207+
<version>${docker.plugin.version}</version>
208+
<configuration>
209+
<skipDocker>false</skipDocker>
210+
<imageName>${docker.image.name}</imageName>
211+
<imageTags>
212+
<imageTag>${docker.image.version}</imageTag>
213+
</imageTags>
214+
<dockerDirectory>${project.basedir}/docker</dockerDirectory>
215+
<resources>
216+
<resource>
217+
<targetPath>/</targetPath>
218+
<directory>${project.basedir}/../../packages</directory>
219+
<include>${build.finalName}.tar.gz</include>
220+
</resource>
221+
</resources>
222+
</configuration>
223+
</plugin>
198224
</plugins>
199225
</build>
200226
</project>

docker-compose.yml

+4-3
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,11 @@ services:
3636
- ZK_ADDRESSES=zookeeper-server:2181
3737
- ES_ADDRESSES=es-server:9300
3838
- BIND_HOST=0.0.0.0
39-
- UI_BIND_HOST=skywalking-collector
40-
- CLUSTER_BIND_HOST=0.0.0.0
39+
- AGENT_JETTY_BIND_HOST=skywalking-collector
40+
- NAMING_BIND_HOST=skywalking-collector
41+
- UI_JETTY_BIND_HOST=skywalking-collector
4142
healthcheck:
42-
test: ["CMD", "curl", "-f", "http://localhost:10800/agentstream/grpc"]
43+
test: ["CMD", "curl", "-f", "http://skywalking-collector:10800/agent/gRPC"]
4344
interval: 10s
4445
timeout: 10s
4546
retries: 5

0 commit comments

Comments
 (0)