diff --git a/docker-compose.yml b/docker-compose.yml index ebebd90..bb46547 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -67,19 +67,35 @@ services: restart: always expose: - "8080" + - "9997" ports: + - "9997:9997/tcp" - "28080:8080" environment: HBASE_HOST: pinpoint-hbase HBASE_PORT: 2181 CLUSTER_ENABLE: 'true' CLUSTER_ZOOKEEPER_ADDRESS: pinpoint-hbase + CLUSTER_WEB_TCP_PORT: 9997 + CONFIG_SENDUSAGE: 'false' ADMIN_PASSWORD: admin123 DISABLE_DEBUG: 'true' JDBC_DRIVER: com.mysql.jdbc.Driver JDBC_URL: jdbc:mysql://pinpoint-mysql:3306/pinpoint?characterEncoding=UTF-8 JDBC_USERNAME: admin JDBC_PASSWORD: admin + MAIL_ENABLE: 'true' + MAIL_HOST: stmp.test.com + MAIL_PORT: 123 + MAIL_USERNAME: user + MAIL_PASSWORD: pass + MAIL_PROPERTIES_MAIL_TRANSPORT_PROTOCOL: smtp + MAIL_PROPERTIES_MAIL_SMTP_AUTH: 'true' + MAIL_PROPERTIES_MAIL_SMTP_PORT: 587 + MAIL_PROPERTIES_MAIL_SMTP_FROM: test@example.com + MAIL_PROPERTIES_MAIL_STARTTLS_ENABLE: 'true' + MAIL_PROPERTIES_MAIL_STARTTLS_REQUIRED: 'true' + MAIL_PROPERTIES_MAIL_DEBUG: 'true' TZ: "America/Recife" volumes: diff --git a/pinpoint-collector/start-collector.sh b/pinpoint-collector/start-collector.sh index 05d40b2..e357776 100644 --- a/pinpoint-collector/start-collector.sh +++ b/pinpoint-collector/start-collector.sh @@ -4,6 +4,8 @@ set -x CLUSTER_ENABLE=${CLUSTER_ENABLE:-false} CLUSTER_ZOOKEEPER_ADDRESS=${CLUSTER_ZOOKEEPER_ADDRESS:-localhost} +CLUSTER_LISTEN_IP=${CLUSTER_LISTEN_IP:-} +CLUSTER_LISTEN_PORT=${CLUSTER_LISTEN_PORT:-} COLLECTOR_TCP_PORT=${COLLECTOR_TCP_PORT:-9994} COLLECTOR_UDP_STAT_LISTEN_PORT=${COLLECTOR_UDP_STAT_LISTEN_PORT:-9995} @@ -19,6 +21,12 @@ cp /assets/hbase.properties /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/hbase sed -i "s/cluster.enable=true/cluster.enable=${CLUSTER_ENABLE}/g" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/pinpoint-collector.properties sed -i "s/cluster.zookeeper.address=localhost/cluster.zookeeper.address=${CLUSTER_ZOOKEEPER_ADDRESS}/g" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/pinpoint-collector.properties +if [ "$CLUSTER_LISTEN_IP" != "" ]; then + sed -i "/cluster.listen.ip=/ s/=.*/=${CLUSTER_LISTEN_IP}/" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/pinpoint-collector.properties +fi +if [ "$CLUSTER_LISTEN_PORT" != "" ]; then + sed -i "/cluster.listen.port=/ s/=.*/=${CLUSTER_LISTEN_PORT}/" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/pinpoint-collector.properties +fi sed -i "s/collector.tcpListenPort=9994/collector.tcpListenPort=${COLLECTOR_TCP_PORT}/g" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/pinpoint-collector.properties sed -i "s/collector.udpStatListenPort=9995/collector.udpStatListenPort=${COLLECTOR_UDP_STAT_LISTEN_PORT}/g" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/pinpoint-collector.properties diff --git a/pinpoint-web/Dockerfile b/pinpoint-web/Dockerfile index 7a7e8e8..1709e07 100644 --- a/pinpoint-web/Dockerfile +++ b/pinpoint-web/Dockerfile @@ -7,16 +7,21 @@ FROM tomcat:8-jre8 ENV PINPOINT_VERSION=1.6.2 ADD start-web.sh /usr/local/bin/ +ADD mail.zip /assets/mail.zip RUN chmod a+x /usr/local/bin/start-web.sh \ && mkdir -p /assets/ \ && curl -SL https://raw.githubusercontent.com/naver/pinpoint/$PINPOINT_VERSION/web/src/main/resources/pinpoint-web.properties -o /assets/pinpoint-web.properties \ && curl -SL https://raw.githubusercontent.com/naver/pinpoint/$PINPOINT_VERSION/web/src/main/resources/hbase.properties -o /assets/hbase.properties \ && curl -SL https://github.com/naver/pinpoint/releases/download/$PINPOINT_VERSION/pinpoint-web-$PINPOINT_VERSION.war -o pinpoint-web.war \ + && curl -SL https://maven.java.net/content/repositories/releases/com/sun/mail/javax.mail/1.5.2/javax.mail-1.5.2.jar -o javax.mail-1.5.2.jar \ && rm -rf /usr/local/tomcat/webapps \ && mkdir -p /usr/local/tomcat/webapps \ && unzip pinpoint-web.war -d /usr/local/tomcat/webapps/ROOT \ - && rm -rf pinpoint-web.war + && rm -rf pinpoint-web.war \ + && mv javax.mail-1.5.2.jar /usr/local/tomcat/webapps/ROOT/WEB-INF/lib/ \ + && unzip /assets/mail.zip -d /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/ \ + && rm -rf /assets/mail.zip EXPOSE 8080 diff --git a/pinpoint-web/mail.zip b/pinpoint-web/mail.zip new file mode 100644 index 0000000..4263a5b Binary files /dev/null and b/pinpoint-web/mail.zip differ diff --git a/pinpoint-web/start-web.sh b/pinpoint-web/start-web.sh index 4aedf1f..d8cb5fe 100644 --- a/pinpoint-web/start-web.sh +++ b/pinpoint-web/start-web.sh @@ -4,11 +4,16 @@ set -x CLUSTER_ENABLE=${CLUSTER_ENABLE:-false} CLUSTER_ZOOKEEPER_ADDRESS=${CLUSTER_ZOOKEEPER_ADDRESS:-localhost} +CLUSTER_WEB_TCP_PORT=${CLUSTER_WEB_TCP_PORT:-9997} +CLUSTER_CONNECT_ADDRESS=${CLUSTER_CONNECT_ADDRESS:-} + ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin} HBASE_HOST=${HBASE_HOST:-localhost} HBASE_PORT=${HBASE_PORT:-2181} +CONFIG_SENDUSAGE=${CONFIG_SENDUSAGE:-true} + DISABLE_DEBUG=${DISABLE_DEBUG:-true} JDBC_DRIVER=${JDBC_DRIVER:-com.mysql.jdbc.Driver} @@ -23,19 +28,81 @@ jdbc.username=${JDBC_USERNAME} jdbc.password=${JDBC_PASSWORD} " > /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/jdbc.properties +MAIL_ENABLE=${MAIL_ENABLE:-false} +MAIL_HOST=${MAIL_HOST:-} +MAIL_PORT=${MAIL_PORT:-} +MAIL_USERNAME=${MAIL_USERNAME:-} +MAIL_PASSWORD=${MAIL_PASSWORD:-} +MAIL_PROPERTIES_MAIL_TRANSPORT_PROTOCOL=${MAIL_PROPERTIES_MAIL_TRANSPORT_PROTOCOL:-smtp} +MAIL_PROPERTIES_MAIL_SMTP_AUTH=${MAIL_PROPERTIES_MAIL_SMTP_AUTH:-true} +MAIL_PROPERTIES_MAIL_SMTP_PORT=${MAIL_PROPERTIES_MAIL_SMTP_AUTH:-} +MAIL_PROPERTIES_MAIL_SMTP_FROM=${MAIL_PROPERTIES_MAIL_SMTP_FROM:-} +MAIL_PROPERTIES_MAIL_STARTTLS_ENABLE=${MAIL_PROPERTIES_MAIL_STARTTLS_ENABLE:-true} +MAIL_PROPERTIES_MAIL_STARTTLS_REQUIRED=${MAIL_PROPERTIES_MAIL_STARTTLS_REQUIRED:-} +MAIL_PROPERTIES_MAIL_DEBUG=${MAIL_PROPERTIES_MAIL_DEBUG:-} + cp /assets/pinpoint-web.properties /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/pinpoint-web.properties cp /assets/hbase.properties /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/hbase.properties sed -i "s/cluster.enable=true/cluster.enable=${CLUSTER_ENABLE}/g" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/pinpoint-web.properties sed -i "s/cluster.zookeeper.address=localhost/cluster.zookeeper.address=${CLUSTER_ZOOKEEPER_ADDRESS}/g" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/pinpoint-web.properties +if [ "$CLUSTER_WEB_TCP_PORT" != "" ]; then + sed -i "/cluster.web.tcp.port=/ s/=.*/=${CLUSTER_WEB_TCP_PORT}/" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/pinpoint-web.properties +fi +if [ "$CLUSTER_CONNECT_ADDRESS" != "" ]; then + sed -i "/cluster.connect.address=/ s/=.*/=${CLUSTER_CONNECT_ADDRESS}/" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/pinpoint-web.properties +fi sed -i "s/admin.password=admin/admin.password=${ADMIN_PASSWORD}/g" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/pinpoint-web.properties sed -i "s/hbase.client.host=localhost/hbase.client.host=${HBASE_HOST}/g" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/hbase.properties sed -i "s/hbase.client.port=2181/hbase.client.port=${HBASE_PORT}/g" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/hbase.properties +if [ "$CONFIG_SENDUSAGE" != "" ]; then + sed -i "/config.sendUsage=/ s/=.*/=${CONFIG_SENDUSAGE}/" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/pinpoint-web.properties +fi + if [ "$DISABLE_DEBUG" == "true" ]; then sed -i 's/level value="DEBUG"/level value="INFO"/' /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/log4j.xml fi +if [ "$MAIL_ENABLE" == "true" ]; then + sed -i 's/<\/beans>/<\/beans>/' /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/applicationContext-web.xml + + if [ "$MAIL_HOST" != "" ]; then + sed -i "s/smtp.gmail.com/${MAIL_HOST}/" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/applicationContext-mail.xml + fi + if [ "$MAIL_PORT" != "" ]; then + sed -i "s/587/${MAIL_PORT}/" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/applicationContext-mail.xml + fi + if [ "$MAIL_USERNAME" != "" ]; then + sed -i "s/UserName/${MAIL_USERNAME}/" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/applicationContext-mail.xml + fi + if [ "$MAIL_PASSWORD" != "" ]; then + sed -i "s/PassWord/${MAIL_PASSWORD}/" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/applicationContext-mail.xml + fi + if [ "$MAIL_PROPERTIES_MAIL_TRANSPORT_PROTOCOL" != "" ]; then + sed -i "/mail.transport.protocol/ s/<\!-- //; s/ -->//; s/>.*${MAIL_PROPERTIES_MAIL_TRANSPORT_PROTOCOL}//; s/>.*${MAIL_PROPERTIES_MAIL_SMTP_PORT}//; s/>.*${MAIL_PROPERTIES_MAIL_SMTP_AUTH}//; s/>.*${MAIL_PROPERTIES_MAIL_SMTP_FROM}//; s/>.*${MAIL_PROPERTIES_MAIL_STARTTLS_ENABLE}//; s/>.*${MAIL_PROPERTIES_MAIL_STARTTLS_REQUIRED}//; s/>.*${MAIL_PROPERTIES_MAIL_DEBUG}