16 Commits
1.8.0 ... 1.8.3

Author SHA1 Message Date
Roy Kim
ad0fdb3769 [naver/pinpoint#5418] update for release 1.8.3 2019-03-28 13:38:25 +09:00
Roy Kim
d8e87921d3 [naver/pinpoint#5231] update for release 1.8.2 2019-02-12 17:26:43 +09:00
Roy Kim
3b4522300d [naver/pinpoint#5061] update for release 1.8.1 2019-01-17 11:30:32 +09:00
Roy Kim
3b465caeea [#5] enable alarm 2019-01-17 11:30:32 +09:00
jokimina
0cb8666dde Fix pinpoint-hbase error "invalid volume specification" 2019-01-17 11:09:26 +09:00
Roy Kim
1e46c9c25b [#5] disable until 1.8.1 release 2018-12-24 12:51:57 +09:00
Roy Kim
c5a34e9d20 [#5] supplements for mysql 2018-12-24 11:42:44 +09:00
Roy Kim
43dd5bee83 Merge pull request #6 from RoySRose/UpdateForDockerhub
[#noissue] update readme on pinpoint-mysql
2018-12-20 16:50:58 +09:00
Roy Kim
35d0b8ecd3 [#noissue] update readme on pinpoint-mysql 2018-12-20 16:50:16 +09:00
Roy Kim
9925fb94a3 Merge pull request #5 from marcosamm/master
Send alarms by email
2018-12-20 15:55:46 +09:00
Roy Kim
72eab88207 Merge pull request #4 from qudongfang/update_readme
Update readme.
2018-12-20 15:20:21 +09:00
marcos
372890e46c Put parameters in .env files
Put all the parameters in .env files
Update readme file
2018-12-19 15:09:07 -03:00
qudongfang
8302dd084d Update readme. 2018-12-19 17:30:54 +08:00
marcos
2baa58e056 Send alarms by email
Addition of mysql container with pinpoint database to allow the 
registration of users, groups and alarms.

Including lib, implementation of AlarmMessageSender and settings 
in the pinpoint-web container to allow sending alert emails.
2018-12-18 13:48:28 -03:00
Roy Kim
aa4767725d Merge pull request #3 from RoySRose/UpdateGuide
update guide
2018-10-30 18:23:46 +09:00
Roy Kim
42a9d98048 update guide 2018-10-30 18:23:18 +09:00
27 changed files with 319 additions and 30 deletions

24
.env
View File

@@ -1,4 +1,4 @@
PINPOINT_VERSION=1.8.0 PINPOINT_VERSION=1.8.3
### Pinpoint-Hbase ### Pinpoint-Hbase
@@ -6,6 +6,11 @@ PINPOINT_HBASE_NAME=pinpoint-hbase
#config for hbase in external docker #config for hbase in external docker
EXTERNAL_HBASE_PORT=2180 EXTERNAL_HBASE_PORT=2180
### Pinpoint-mysql
MYSQL_ROOT_PASSWORD=root123
MYSQL_USER=admin
MYSQL_PASSWORD=admin
MYSQL_DATABASE=pinpoint
### Pinpoint-Web ### Pinpoint-Web
@@ -32,6 +37,21 @@ BATCH_FLINK_SERVER=pinpoint-flink-jobmanager
CONFIG_SHOW_APPLICATIONSTAT=true CONFIG_SHOW_APPLICATIONSTAT=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_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=false
### Pinpoint-Collector ### Pinpoint-Collector
@@ -71,4 +91,4 @@ FLINK_WEB_PORT=8081
### Pinpoint-quickstart ### Pinpoint-quickstart
APP_PORT=8000 APP_PORT=8000

View File

@@ -13,10 +13,17 @@ It supports and helps you understand your application in a glance and allow you
## Supported Tags ## Supported Tags
- 1.8.3
- 1.8.2
- 1.8.1
- 1.8.0 - 1.8.0
- 1.7.3 - 1.7.3
- 1.7.2 - 1.7.2
## Requirements
- [docker 18.02.0+](https://docs.docker.com/compose/compose-file/)
## How to install Pinpoint? ## How to install Pinpoint?
You can easily bring up an entire Dockerized Pinpoint(latest release) environment by using [Docker Compose](https://docs.docker.com/compose/) with any of the provided `docker-compose.yml` files as below. You can easily bring up an entire Dockerized Pinpoint(latest release) environment by using [Docker Compose](https://docs.docker.com/compose/) with any of the provided `docker-compose.yml` files as below.
@@ -25,26 +32,46 @@ To monitor your agent see [configuration part](#configurations) for further deta
``` ```
git clone https://github.com/naver/pinpoint-docker.git git clone https://github.com/naver/pinpoint-docker.git
cd Pinpoint-Docker cd pinpoint-docker
docker-compose pull && docker-compose up -d docker-compose pull && docker-compose up -d
``` ```
If you'd like to bring up the previous release. Try with docker-compose file from other tags. If you'd like to bring up a previous release. Try with docker-compose file from other tags.
You can also just build the image with `docker-compose up -d` command without pulling the image. But you can reduce the time to 1/3 by just downloading them.
```
git clone https://github.com/naver/pinpoint-docker.git
git checkout {tag}
cd pinpoint-docker
docker-compose pull && docker-compose up -d
```
You can also build the image with `docker-compose up -d` command without pulling the image. But you can reduce the time to 1/3 by just downloading them.
This will install and run all services required to run all features in Pinpoint in docker containers joined with same network. This will install and run all services required to run all features in Pinpoint in docker containers joined with same network.
- Pinpoint-Web Server - Pinpoint-Web Server
- Pinpoint-Collector - Pinpoint-Collector
- Pinpoint-Agent(ready to be used) - Pinpoint-Agent
- Pinpoint-Flink - Pinpoint-Flink(to support certain feature)
- Pinpoint-Zookeeper - Pinpoint-Zookeeper
- Pinpoint-Hbase - Pinpoint-Hbase
- Pinpoint-QuickStart(a sample application) - Pinpoint-QuickStart(a sample application, 1.8.1+)
- Pinpoint-Mysql(to support certain feature)
This may take several minutes to download all necessary images. This may take several minutes to download all necessary images.
You can modify `QuickStart` application part with your application to start monitoring. You can replace `QuickStart` application part with your application to start monitoring.
(see [`Monitoring YOUR Application`](#monitoring-your-application) part for further details). - check [`Testing QuickStart application`](#testing-quickstart-application) for a quick demo of pinpoint
- check [`Monitoring YOUR Application`](#monitoring-your-application) part for further details
### Flink configuration ### Mysql (optional, 1.8.1+)
The Pinpoint-Mysql is necessary to use 'Alarm' feature. It's server is running on port 13306 and contains the data structure used to register users, groups, and alerts to be sent.
To send email alerts, you must make BATCH_ENABLE=true and change the other mail-related environment variables (MAIL_HOST, MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD, MAIL_PROPERTIES_MAIL_SMTP_FROM, ...) to the Pinpoint-Web server in *.env* file.
For more information checkout [Setting Alarm](http://naver.github.io/pinpoint/alarm.html) in Pinpoint documentation.
### Flink configuration (optional)
The Pinpoint-Flink is necessary to use ['Application Inspector'](http://naver.github.io/pinpoint/applicationinspector.html) feature.
After all containers are started and ready to go. There is one more thing to do to use all existing features in Pinpoint. After all containers are started and ready to go. There is one more thing to do to use all existing features in Pinpoint.
It's not mandatory, but to use all the features and since it's a simple task, let's take care of it. It's not mandatory, but to use all the features and since it's a simple task, let's take care of it.
@@ -60,7 +87,9 @@ Submit the jar file with *com.navercorp.pinpoint.flink.StatStreamingVer2Job* in
![Pinpoint](https://github.com/naver/pinpoint-docker/blob/master/docs/Pinpoint-Flink%20upload.png) ![Pinpoint](https://github.com/naver/pinpoint-docker/blob/master/docs/Pinpoint-Flink%20upload.png)
Now you are ready to monitor the sample application(Pinpoint-QuickStart) provided. ### Testing QuickStart application
Now you are ready to monitor the sample application(Pinpoint-QuickStart [port 8000](http://localhost:8000)) provided.
If you can't find any connected application from Pinpoint-Web's first page([port 8079](http://localhost:8079) as default), don't panic and wait for a while. If you can't find any connected application from Pinpoint-Web's first page([port 8079](http://localhost:8079) as default), don't panic and wait for a while.
It will take some time for Pinpoint to retrieve the application's information when running for the first time. It will take some time for Pinpoint to retrieve the application's information when running for the first time.

View File

@@ -14,8 +14,8 @@ services:
- pinpoint - pinpoint
volumes: volumes:
- ./home/pinpoint/hbase - /home/pinpoint/hbase
- ./home/pinpoint/zookeeper - /home/pinpoint/zookeeper
expose: expose:
# zookeeper # zookeeper
- "2181" - "2181"
@@ -35,6 +35,30 @@ services:
- "16030:16030" - "16030:16030"
restart: always restart: always
pinpoint-mysql:
build:
context: ./pinpoint-mysql/
dockerfile: Dockerfile
args:
- PINPOINT_VERSION=${PINPOINT_VERSION}
container_name: pinpoint-mysql
restart: always
image: "pinpointdocker/pinpoint-mysql:${PINPOINT_VERSION}"
hostname: pinpoint-mysql
ports:
- "13306:3306"
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
volumes:
- mysql_data:/var/lib/mysql
networks:
- pinpoint
pinpoint-web: pinpoint-web:
build: build:
context: ./pinpoint-web/ context: ./pinpoint-web/
@@ -47,6 +71,7 @@ services:
depends_on: depends_on:
- pinpoint-hbase - pinpoint-hbase
- pinpoint-mysql
restart: always restart: always
expose: expose:
- "8080" - "8080"
@@ -66,6 +91,23 @@ services:
- BATCH_ENABLE=${BATCH_ENABLE} - BATCH_ENABLE=${BATCH_ENABLE}
- BATCH_SERVER_IP=${BATCH_SERVER_IP} - BATCH_SERVER_IP=${BATCH_SERVER_IP}
- BATCH_FLINK_SERVER=${BATCH_FLINK_SERVER} - BATCH_FLINK_SERVER=${BATCH_FLINK_SERVER}
- JDBC_DRIVER=${JDBC_DRIVER}
- JDBC_URL=${JDBC_URL}
- JDBC_USERNAME=${JDBC_USERNAME}
- JDBC_PASSWORD=${JDBC_PASSWORD}
- 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}
- MAIL_PROPERTIES_MAIL_SMTP_AUTH=${MAIL_PROPERTIES_MAIL_SMTP_AUTH}
- MAIL_PROPERTIES_MAIL_SMTP_PORT=${MAIL_PROPERTIES_MAIL_SMTP_PORT}
- MAIL_PROPERTIES_MAIL_SMTP_FROM=${MAIL_PROPERTIES_MAIL_SMTP_FROM}
- MAIL_PROPERTIES_MAIL_STARTTLS_ENABLE=${MAIL_PROPERTIES_MAIL_STARTTLS_ENABLE}
- MAIL_PROPERTIES_MAIL_STARTTLS_REQUIRED=${MAIL_PROPERTIES_MAIL_STARTTLS_REQUIRED}
- MAIL_PROPERTIES_MAIL_DEBUG=${MAIL_PROPERTIES_MAIL_DEBUG}
links:
- "pinpoint-mysql:pinpoint-mysql"
networks: networks:
- pinpoint - pinpoint
@@ -215,6 +257,7 @@ services:
volumes: volumes:
data-volume: data-volume:
mysql_data:
networks: networks:
pinpoint: pinpoint:

View File

@@ -1,4 +1,4 @@
### Pinpoint with Java ### Pinpoint with Java
PINPOINT_VERSION=1.8.0 PINPOINT_VERSION=1.8.3
AGENT_ID=app-in-docker AGENT_ID=app-in-docker
APP_NAME=quickapp APP_NAME=quickapp

View File

@@ -1,5 +1,5 @@
### Pinpoint with Tomcat ### Pinpoint with Tomcat
PINPOINT_VERSION=1.8.0 PINPOINT_VERSION=1.8.3
APP_PORT=8000 APP_PORT=8000
AGENT_ID=app-in-docker AGENT_ID=app-in-docker
APP_NAME=quickapp APP_NAME=quickapp

View File

@@ -1,4 +1,4 @@
PINPOINT_VERSION=1.8.0 PINPOINT_VERSION=1.8.3
### Pinpoint-Agent ### Pinpoint-Agent

View File

@@ -2,7 +2,7 @@ FROM alpine:3.7
LABEL maintainer="Roy Kim <roy.kim@navercorp.com>" LABEL maintainer="Roy Kim <roy.kim@navercorp.com>"
ARG PINPOINT_VERSION=${PINPOINT_VERSION:-1.8.0} ARG PINPOINT_VERSION=${PINPOINT_VERSION:-1.8.3}
ARG INSTALL_URL=https://github.com/naver/pinpoint/releases/download/${PINPOINT_VERSION}/pinpoint-agent-${PINPOINT_VERSION}.tar.gz ARG INSTALL_URL=https://github.com/naver/pinpoint/releases/download/${PINPOINT_VERSION}/pinpoint-agent-${PINPOINT_VERSION}.tar.gz
COPY /build/scripts/configure-agent.sh /usr/local/bin/ COPY /build/scripts/configure-agent.sh /usr/local/bin/

View File

@@ -5,6 +5,9 @@ This Docker image contains the Pinpoint Agent component of the Pinpoint applicat
## Supported Tags ## Supported Tags
- 1.8.3
- 1.8.2
- 1.8.1
- 1.8.0 - 1.8.0
- 1.7.3 - 1.7.3
- 1.7.2 - 1.7.2

View File

@@ -1,4 +1,4 @@
PINPOINT_VERSION=1.8.0 PINPOINT_VERSION=1.8.3
### Pinpoint-Collector ### Pinpoint-Collector

View File

@@ -2,7 +2,7 @@ FROM tomcat:8-jre8
LABEL maintainer="Roy Kim <roy.kim@navercorp.com>" LABEL maintainer="Roy Kim <roy.kim@navercorp.com>"
ARG PINPOINT_VERSION=${PINPOINT_VERSION:-1.8.0} ARG PINPOINT_VERSION=${PINPOINT_VERSION:-1.8.3}
ARG INSTALL_URL=https://github.com/naver/pinpoint/releases/download/${PINPOINT_VERSION}/pinpoint-collector-${PINPOINT_VERSION}.war ARG INSTALL_URL=https://github.com/naver/pinpoint/releases/download/${PINPOINT_VERSION}/pinpoint-collector-${PINPOINT_VERSION}.war

View File

@@ -5,6 +5,9 @@ This Docker image contains the Pinpoint Collector component of the Pinpoint appl
## Supported Tags ## Supported Tags
- 1.8.3
- 1.8.2
- 1.8.1
- 1.8.0 - 1.8.0
- 1.7.3 - 1.7.3
- 1.7.2 - 1.7.2

View File

@@ -1,4 +1,4 @@
PINPOINT_VERSION=1.8.0 PINPOINT_VERSION=1.8.3
### Pinpoint-flink ### Pinpoint-flink

View File

@@ -1,4 +1,4 @@
PINPOINT_VERSION=1.8.0 PINPOINT_VERSION=1.8.3
### Pinpoint-Hbase ### Pinpoint-Hbase

View File

@@ -2,7 +2,7 @@ FROM java:8-jdk
LABEL maintainer="Roy Kim <roy.kim@navercorp.com>" LABEL maintainer="Roy Kim <roy.kim@navercorp.com>"
ARG PINPOINT_VERSION=${PINPOINT_VERSION:-1.8.0} ARG PINPOINT_VERSION=${PINPOINT_VERSION:-1.8.3}
ENV HBASE_REPOSITORY=http://apache.mirrors.pair.com/hbase ENV HBASE_REPOSITORY=http://apache.mirrors.pair.com/hbase
ENV HBASE_SUB_REPOSITORY=http://archive.apache.org/dist/hbase ENV HBASE_SUB_REPOSITORY=http://archive.apache.org/dist/hbase

View File

@@ -5,6 +5,9 @@ This Docker image contains the Pinpoint Hbase component of the Pinpoint applicat
## Supported Tags ## Supported Tags
- 1.8.3
- 1.8.2
- 1.8.1
- 1.8.0 - 1.8.0
- 1.7.3 - 1.7.3
- 1.7.2 - 1.7.2

View File

@@ -12,8 +12,8 @@ services:
image: "pinpointdocker/pinpoint-hbase:${PINPOINT_VERSION}" image: "pinpointdocker/pinpoint-hbase:${PINPOINT_VERSION}"
volumes: volumes:
- ./home/pinpoint/hbase - /home/pinpoint/hbase
- ./home/pinpoint/zookeeper - /home/pinpoint/zookeeper
expose: expose:
# zookeeper # zookeeper
- "2181" - "2181"
@@ -31,4 +31,4 @@ services:
- "16010:16010" - "16010:16010"
- "60020:60020" - "60020:60020"
- "16030:16030" - "16030:16030"
restart: always restart: always

7
pinpoint-mysql/.env Normal file
View File

@@ -0,0 +1,7 @@
PINPOINT_VERSION=1.8.3
### Pinpoint-mysql
MYSQL_ROOT_PASSWORD=root123
MYSQL_USER=admin
MYSQL_PASSWORD=admin
MYSQL_DATABASE=pinpoint

11
pinpoint-mysql/Dockerfile Normal file
View File

@@ -0,0 +1,11 @@
FROM mysql:5.7
ARG PINPOINT_VERSION=${PINPOINT_VERSION:-1.8.3}
RUN apt update \
&& apt-get install -y --no-install-recommends ca-certificates wget \
&& wget -O /docker-entrypoint-initdb.d/CreateTableStatement-mysql.sql "https://raw.githubusercontent.com/naver/pinpoint/$PINPOINT_VERSION/web/src/main/resources/sql/CreateTableStatement-mysql.sql" \
&& wget -O /docker-entrypoint-initdb.d/SpringBatchJobRepositorySchema-mysql.sql "https://raw.githubusercontent.com/naver/pinpoint/$PINPOINT_VERSION/web/src/main/resources/sql/SpringBatchJobRepositorySchema-mysql.sql" \
&& sed -i '/^--/d' /docker-entrypoint-initdb.d/CreateTableStatement-mysql.sql \
&& sed -i '/^--/d' /docker-entrypoint-initdb.d/SpringBatchJobRepositorySchema-mysql.sql \
&& apt-get purge -y --auto-remove ca-certificates wget

41
pinpoint-mysql/Readme.md Normal file
View File

@@ -0,0 +1,41 @@
## Pinpoint Mysql
This Docker image contains the Pinpoint Mysql component of the Pinpoint application monitoring system.
## Supported Tags
- 1.8.3
- 1.8.2
- 1.8.1
- 1.8.0
- 1.7.3
- 1.7.2
Please see [Pinpoint-Docker GitHub repository](https://github.com/naver/pinpoint-docker) for further information on how to run, configure and build this image.
## Any Issues or Suggestions?
Feel free to share any problems and suggestions via [Pinpoint GitHub Issue page](https://github.com/naver/pinpoint/issues).
Contributions on the pinpoint-docker image is also always welcome.
## License
Pinpoint is licensed under the Apache License, Version 2.0.
See [LICENSE](https://github.com/naver/pinpoint/blob/master/LICENSE) for full license text.
```
Copyright 2018 NAVER Corp.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```

View File

@@ -0,0 +1,25 @@
version: "3.6"
services:
pinpoint-mysql:
build:
context: .
dockerfile: Dockerfile
args:
- PINPOINT_VERSION=${PINPOINT_VERSION}
container_name: pinpoint-mysql
restart: always
image: "pinpointdocker/pinpoint-mysql:${PINPOINT_VERSION}"
hostname: pinpoint-mysql
ports:
- "13306:3306"
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
volumes:
- ./var/lib/mysql

View File

@@ -1,4 +1,4 @@
PINPOINT_VERSION=1.8.0 PINPOINT_VERSION=1.8.3
### Pinpoint-Agent ### Pinpoint-Agent

View File

@@ -1,4 +1,4 @@
PINPOINT_VERSION=1.8.0 PINPOINT_VERSION=1.8.3
### Pinpoint-Web ### Pinpoint-Web
@@ -26,3 +26,22 @@ BATCH_SERVER_IP=127.0.0.127
BATCH_FLINK_SERVER=pinpoint-flink-jobmanager BATCH_FLINK_SERVER=pinpoint-flink-jobmanager
CONFIG_SHOW_APPLICATIONSTAT=true CONFIG_SHOW_APPLICATIONSTAT=true
#mysql information required
JDBC_DRIVER=com.mysql.jdbc.Driver
JDBC_URL=jdbc:mysql://pinpoint-mysql:3306/pinpoint?characterEncoding=UTF-8
JDBC_USERNAME=
JDBC_PASSWORD=
#mail server information required
MAIL_HOST=
MAIL_PORT=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_PROPERTIES_MAIL_TRANSPORT_PROTOCOL=
MAIL_PROPERTIES_MAIL_SMTP_AUTH=
MAIL_PROPERTIES_MAIL_SMTP_PORT=
MAIL_PROPERTIES_MAIL_SMTP_FROM=
MAIL_PROPERTIES_MAIL_STARTTLS_ENABLE=
MAIL_PROPERTIES_MAIL_STARTTLS_REQUIRED=
MAIL_PROPERTIES_MAIL_DEBUG=

View File

@@ -2,16 +2,20 @@ FROM tomcat:8-jre8
LABEL maintainer="Roy Kim <roy.kim@navercorp.com>" LABEL maintainer="Roy Kim <roy.kim@navercorp.com>"
ARG PINPOINT_VERSION=${PINPOINT_VERSION:-1.8.0} ARG PINPOINT_VERSION=${PINPOINT_VERSION:-1.8.3}
ARG INSTALL_URL=https://github.com/naver/pinpoint/releases/download/${PINPOINT_VERSION}/pinpoint-web-${PINPOINT_VERSION}.war ARG INSTALL_URL=https://github.com/naver/pinpoint/releases/download/${PINPOINT_VERSION}/pinpoint-web-${PINPOINT_VERSION}.war
COPY /build/scripts/start-web.sh /usr/local/bin/ COPY /build/scripts/start-web.sh /usr/local/bin/
COPY /build/mail.zip /assets/mail.zip
RUN chmod a+x /usr/local/bin/start-web.sh \ RUN chmod a+x /usr/local/bin/start-web.sh \
&& curl -SL ${INSTALL_URL} -o pinpoint-web.war \ && curl -SL ${INSTALL_URL} -o pinpoint-web.war \
&& rm -rf /usr/local/tomcat/webapps \ && rm -rf /usr/local/tomcat/webapps \
&& mkdir -p /usr/local/tomcat/webapps \ && mkdir -p /usr/local/tomcat/webapps \
&& unzip pinpoint-web.war -d /usr/local/tomcat/webapps/ROOT \ && unzip pinpoint-web.war -d /usr/local/tomcat/webapps/ROOT \
&& rm -rf pinpoint-web.war && rm -rf 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 /usr/local/tomcat/webapps/ROOT/WEB-INF/lib/javax.mail-1.5.2.jar \
&& unzip /assets/mail.zip -d /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/ \
&& rm -rf /assets/mail.zip
ENTRYPOINT ["/usr/local/bin/start-web.sh"] ENTRYPOINT ["/usr/local/bin/start-web.sh"]

View File

@@ -5,6 +5,9 @@ This Docker image contains the Pinpoint Web component of the Pinpoint applicatio
## Supported Tags ## Supported Tags
- 1.8.3
- 1.8.2
- 1.8.1
- 1.8.0 - 1.8.0
- 1.7.3 - 1.7.3
- 1.7.2 - 1.7.2

BIN
pinpoint-web/build/mail.zip Normal file

Binary file not shown.

View File

@@ -18,5 +18,68 @@ sed -i "/batch.flink.server=/ s/=.*/=${BATCH_FLINK_SERVER}/" /usr/local/tomcat/w
sed -i "/level value=/ s/=.*/=\"${DEBUG_LEVEL}\"\/>/g" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/log4j.xml sed -i "/level value=/ s/=.*/=\"${DEBUG_LEVEL}\"\/>/g" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/log4j.xml
WEB_INF_CLASSES_DIR=/usr/local/tomcat/webapps/ROOT/WEB-INF/classes
APPLICATION_CONTEXT_WEB_FILE=${WEB_INF_CLASSES_DIR}/applicationContext-web.xml
APPLICATION_CONTEXT_MAIL_FILE=${WEB_INF_CLASSES_DIR}/applicationContext-mail.xml
echo -e "
jdbc.driverClassName=${JDBC_DRIVER:-com.mysql.jdbc.Driver}
jdbc.url=${JDBC_URL:-jdbc:mysql://localhost:13306/pinpoint?characterEncoding=UTF-8}
jdbc.username=${JDBC_USERNAME:-admin}
jdbc.password=${JDBC_PASSWORD:-admin}
" > ${WEB_INF_CLASSES_DIR}/jdbc.properties
sed -i '/classpath:applicationContext-mail.xml/d' ${APPLICATION_CONTEXT_WEB_FILE}
if [ "$MAIL_HOST" != "" ]; then
sed -i 's/<\/beans>/ <import resource="classpath:applicationContext-mail.xml" \/>\
<\/beans>/' ${APPLICATION_CONTEXT_WEB_FILE}
sed -i "/name=\"host\"/c\ <property name=\"host\" value=\"${MAIL_HOST}\" />" ${APPLICATION_CONTEXT_MAIL_FILE}
sed -i "/name=\"port\"/c\ <property name=\"port\" value=\"${MAIL_PORT}\" />" ${APPLICATION_CONTEXT_MAIL_FILE}
sed -i "/name=\"username\"/c\ <property name=\"username\" value=\"${MAIL_USERNAME}\" />" ${APPLICATION_CONTEXT_MAIL_FILE}
sed -i "/name=\"password\"/c\ <property name=\"password\" value=\"${MAIL_PASSWORD}\" />" ${APPLICATION_CONTEXT_MAIL_FILE}
if [ "$MAIL_PROPERTIES_MAIL_TRANSPORT_PROTOCOL" != "" ]; then
sed -i "/prop key=\"mail.transport.protocol\"/c\ <prop key=\"mail.transport.protocol\">${MAIL_PROPERTIES_MAIL_TRANSPORT_PROTOCOL}</prop>" ${APPLICATION_CONTEXT_MAIL_FILE}
else
sed -i "/prop key=\"mail.transport.protocol\"/c\ <!-- <prop key=\"mail.transport.protocol\">smtp</prop> -->" ${APPLICATION_CONTEXT_MAIL_FILE}
fi
if [ "$MAIL_PROPERTIES_MAIL_SMTP_PORT" != "" ]; then
sed -i "/prop key=\"mail.smtp.port\"/c\ <prop key=\"mail.smtp.port\">${MAIL_PROPERTIES_MAIL_SMTP_PORT}</prop>" ${APPLICATION_CONTEXT_MAIL_FILE}
else
sed -i "/prop key=\"mail.smtp.port\"/c\ <!-- <prop key=\"mail.smtp.port\">25</prop> -->" ${APPLICATION_CONTEXT_MAIL_FILE}
fi
if [ "$MAIL_PROPERTIES_MAIL_SMTP_AUTH" != "" ]; then
sed -i "/prop key=\"mail.smtp.auth\"/c\ <prop key=\"mail.smtp.auth\">${MAIL_PROPERTIES_MAIL_SMTP_AUTH}</prop>" ${APPLICATION_CONTEXT_MAIL_FILE}
else
sed -i "/prop key=\"mail.smtp.auth\"/c\ <!-- <prop key=\"mail.smtp.auth\">true</prop> -->" ${APPLICATION_CONTEXT_MAIL_FILE}
fi
if [ "$MAIL_PROPERTIES_MAIL_STARTTLS_ENABLE" != "" ]; then
sed -i "/prop key=\"mail.smtp.starttls.enable\"/c\ <prop key=\"mail.smtp.starttls.enable\">${MAIL_PROPERTIES_MAIL_STARTTLS_ENABLE}</prop>" ${APPLICATION_CONTEXT_MAIL_FILE}
else
sed -i "/prop key=\"mail.smtp.starttls.enable\"/c\ <!-- <prop key=\"mail.smtp.starttls.enable\">true</prop> -->" ${APPLICATION_CONTEXT_MAIL_FILE}
fi
if [ "$MAIL_PROPERTIES_MAIL_STARTTLS_REQUIRED" != "" ]; then
sed -i "/prop key=\"mail.smtp.starttls.required\"/c\ <prop key=\"mail.smtp.starttls.required\">${MAIL_PROPERTIES_MAIL_STARTTLS_REQUIRED}</prop>" ${APPLICATION_CONTEXT_MAIL_FILE}
else
sed -i "/prop key=\"mail.smtp.starttls.required\"/c\ <!-- <prop key=\"mail.smtp.starttls.required\">true</prop> -->" ${APPLICATION_CONTEXT_MAIL_FILE}
fi
if [ "$MAIL_PROPERTIES_MAIL_DEBUG" != "" ]; then
sed -i "/prop key=\"mail.debug\"/c\ <prop key=\"mail.debug\">${MAIL_PROPERTIES_MAIL_DEBUG}</prop>" ${APPLICATION_CONTEXT_MAIL_FILE}
else
sed -i "/prop key=\"mail.debug\"/c\ <!-- <prop key=\"mail.debug\">true</prop> -->" ${APPLICATION_CONTEXT_MAIL_FILE}
fi
if [ "$MAIL_PROPERTIES_MAIL_SMTP_FROM" != "" ]; then
sed -i "/prop key=\"mail.smtp.from\"/c\ <prop key=\"mail.smtp.from\">${MAIL_PROPERTIES_MAIL_SMTP_FROM}</prop>" ${APPLICATION_CONTEXT_MAIL_FILE}
else
sed -i "/prop key=\"mail.smtp.from\"/c\ <!-- <prop key=\"mail.smtp.from\">abc@example.com</prop> -->" ${APPLICATION_CONTEXT_MAIL_FILE}
fi
fi
exec /usr/local/tomcat/bin/catalina.sh run exec /usr/local/tomcat/bin/catalina.sh run

View File

@@ -30,4 +30,19 @@ services:
- BATCH_ENABLE=${BATCH_ENABLE} - BATCH_ENABLE=${BATCH_ENABLE}
- BATCH_SERVER_IP=${BATCH_SERVER_IP} - BATCH_SERVER_IP=${BATCH_SERVER_IP}
- BATCH_FLINK_SERVER=${BATCH_FLINK_SERVER} - BATCH_FLINK_SERVER=${BATCH_FLINK_SERVER}
- JDBC_DRIVER=${JDBC_DRIVER}
- JDBC_URL=${JDBC_URL}
- JDBC_USERNAME=${JDBC_USERNAME}
- JDBC_PASSWORD=${JDBC_PASSWORD}
- 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}
- MAIL_PROPERTIES_MAIL_SMTP_AUTH=${MAIL_PROPERTIES_MAIL_SMTP_AUTH}
- MAIL_PROPERTIES_MAIL_SMTP_PORT=${MAIL_PROPERTIES_MAIL_SMTP_PORT}
- MAIL_PROPERTIES_MAIL_SMTP_FROM=${MAIL_PROPERTIES_MAIL_SMTP_FROM}
- MAIL_PROPERTIES_MAIL_STARTTLS_ENABLE=${MAIL_PROPERTIES_MAIL_STARTTLS_ENABLE}
- MAIL_PROPERTIES_MAIL_STARTTLS_REQUIRED=${MAIL_PROPERTIES_MAIL_STARTTLS_REQUIRED}
- MAIL_PROPERTIES_MAIL_DEBUG=${MAIL_PROPERTIES_MAIL_DEBUG}