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.
This commit is contained in:
@@ -6,12 +6,16 @@ ARG PINPOINT_VERSION=${PINPOINT_VERSION:-1.8.0}
|
||||
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/mail.zip /assets/mail.zip
|
||||
|
||||
RUN chmod a+x /usr/local/bin/start-web.sh \
|
||||
&& curl -SL ${INSTALL_URL} -o pinpoint-web.war \
|
||||
&& 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 \
|
||||
&& 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"]
|
||||
|
||||
BIN
pinpoint-web/build/mail.zip
Normal file
BIN
pinpoint-web/build/mail.zip
Normal file
Binary file not shown.
@@ -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
|
||||
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user