Merge pull request #2 from marcosamm/1.6.2

Add ability to store users, groups, and alarms for an application.
This commit is contained in:
2017-07-14 17:26:53 +08:00
committed by GitHub
11 changed files with 280 additions and 72 deletions
+1
View File
@@ -0,0 +1 @@
/.project
+99 -66
View File
@@ -1,69 +1,102 @@
pinpoint-hbase:
container_name: pinpoint-hbase
hostname: hbase
image: wahyd4/pinpoint-hbase:1.6.2
restart: always
expose:
- "2181"
- "16010"
ports:
- "2181:2181"
- "16010:16010"
version: '2'
services:
pinpoint-hbase:
container_name: pinpoint-hbase
image: wahyd4/pinpoint-hbase:1.6.2
restart: always
expose:
- "2181"
- "16010"
ports:
- "2181:2181"
- "16010:16010"
environment:
TZ: "America/Recife"
volumes:
- hbase_data:/home/pinpoint/hbase
- hbase_zookeeper_data:/home/pinpoint/zookeeper
pinpoint-collector:
container_name: pinpoint-collector
hostname: collector
image: wahyd4/pinpoint-collector:1.6.2
restart: always
expose:
- "9994"
- "9995"
- "9996"
ports:
- "9994:9994"
- "9995:9995/tcp"
- "9996:9996/tcp"
- "9995:9995/udp"
- "9996:9996/udp"
environment:
HBASE_HOST: hbase
HBASE_PORT: 2181
COLLECTOR_TCP_PORT: 9994
COLLECTOR_UDP_STAT_LISTEN_PORT: 9995
COLLECTOR_UDP_SPAN_LISTEN_PORT: 9996
CLUSTER_ENABLE: 'false'
DISABLE_DEBUG: 'true'
links:
- pinpoint-hbase:hbase
pinpoint-mysql:
container_name: pinpoint-mysql
restart: always
image: marcosamm/pinpoint-mysql:1.6.2
ports:
- "13306:3306"
environment:
MYSQL_ROOT_PASSWORD: root123
MYSQL_USER: admin
MYSQL_PASSWORD: admin
MYSQL_DATABASE: pinpoint
TZ: "America/Recife"
volumes:
- mysql_data:/var/lib/mysql
pinpoint-collector:
depends_on:
- pinpoint-hbase
container_name: pinpoint-collector
image: wahyd4/pinpoint-collector:1.6.2
restart: always
expose:
- "9994"
- "9995"
- "9996"
ports:
- "9994:9994"
- "9995:9995/tcp"
- "9996:9996/tcp"
- "9995:9995/udp"
- "9996:9996/udp"
environment:
HBASE_HOST: pinpoint-hbase
HBASE_PORT: 2181
COLLECTOR_TCP_PORT: 9994
COLLECTOR_UDP_STAT_LISTEN_PORT: 9995
COLLECTOR_UDP_SPAN_LISTEN_PORT: 9996
CLUSTER_ENABLE: 'true'
CLUSTER_ZOOKEEPER_ADDRESS: pinpoint-hbase
DISABLE_DEBUG: 'true'
TZ: "America/Recife"
pinpoint-web:
depends_on:
- pinpoint-hbase
- pinpoint-mysql
container_name: pinpoint-web
image: wahyd4/pinpoint-web:1.6.2
restart: always
expose:
- "8080"
ports:
- "28080:8080"
environment:
HBASE_HOST: pinpoint-hbase
HBASE_PORT: 2181
CLUSTER_ENABLE: 'true'
CLUSTER_ZOOKEEPER_ADDRESS: pinpoint-hbase
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
TZ: "America/Recife"
pinpoint-web:
container_name: pinpoint-web
hostname: web
image: wahyd4/pinpoint-web:1.6.2
restart: always
expose:
- "8080"
ports:
- "28080:8080"
environment:
HBASE_HOST: hbase
HBASE_PORT: 2181
CLUSTER_ENABLE: 'false'
ADMIN_PASSWORD: admin123
DISABLE_DEBUG: 'true'
links:
- pinpoint-hbase:hbase
volumes:
mysql_data:
hbase_data:
hbase_zookeeper_data:
# only example
#pinpoint-agent:
# image: wahyd4/pinpoint-agent:1.6.2
# net: "none"
# restart: unless-stopped
# volumes:
# - /var/container_data/pinpoint-agent/log:/opt/app/pinpoint-agent/log:rw
# environment:
# COLLECTOR_IP: 192.168.99.100
# COLLECTOR_TCP_PORT: 9994
# COLLECTOR_UDP_STAT_LISTEN_PORT: 9995
# COLLECTOR_UDP_SPAN_LISTEN_PORT: 9996
# DISABLE_DEBUG: 'true'
# only example
# pinpoint-agent:
# image: marcosamm/pinpoint-agent:1.6.2
# net: "none"
# restart: unless-stopped
# volumes:
# - /var/container_data/pinpoint-agent/log:/opt/app/pinpoint-agent/log:rw
# environment:
# COLLECTOR_IP: 192.168.99.100
# COLLECTOR_TCP_PORT: 9994
# COLLECTOR_UDP_STAT_LISTEN_PORT: 9995
# COLLECTOR_UDP_SPAN_LISTEN_PORT: 9996
# DISABLE_DEBUG: 'true'
+3 -1
View File
@@ -18,5 +18,7 @@ sed -i "s/profiler.collector.stat.port=9995/profiler.collector.stat.port=${COLLE
sed -i "s/profiler.collector.span.port=9996/profiler.collector.span.port=${COLLECTOR_UDP_SPAN_LISTEN_PORT}/g" /assets/pinpoint-agent/pinpoint.config
if [ "$DISABLE_DEBUG" == "true" ]; then
sed -i 's/level value="DEBUG"/level value="INFO"/' /assets/lib/log4j.xml
sed -i 's/level value="DEBUG"/level value="INFO"/' /assets/pinpoint-agent/lib/log4j.xml
fi
exec tail -f /dev/null
+1 -1
View File
@@ -24,4 +24,4 @@ RUN chmod a+x /usr/local/bin/start-collector.sh \
EXPOSE 9994 9995 9996
ENTRYPOINT ["/usr/local/bin/start-collector.sh"]
ENTRYPOINT ["/usr/local/bin/start-collector.sh"]
+2
View File
@@ -3,6 +3,7 @@ set -e
set -x
CLUSTER_ENABLE=${CLUSTER_ENABLE:-false}
CLUSTER_ZOOKEEPER_ADDRESS=${CLUSTER_ZOOKEEPER_ADDRESS:-localhost}
COLLECTOR_TCP_PORT=${COLLECTOR_TCP_PORT:-9994}
COLLECTOR_UDP_STAT_LISTEN_PORT=${COLLECTOR_UDP_STAT_LISTEN_PORT:-9995}
@@ -17,6 +18,7 @@ cp /assets/pinpoint-collector.properties /usr/local/tomcat/webapps/ROOT/WEB-INF/
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-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
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
+1 -1
View File
@@ -38,4 +38,4 @@ EXPOSE 60020
# HBase Regionserver web UI
EXPOSE 16030
ENTRYPOINT /opt/hbase/hbase-$HBASE_VERSION/bin/hbase master start
ENTRYPOINT /opt/hbase/hbase-$HBASE_VERSION/bin/hbase master start
@@ -0,0 +1,56 @@
CREATE TABLE `user_group` (
`number` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`id` VARCHAR(30) NOT NULL,
PRIMARY KEY (`number`)
);
ALTER TABLE user_group ADD UNIQUE KEY id_idx (id);
CREATE TABLE `user_group_member` (
`number` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`user_group_id` VARCHAR(30) NOT NULL,
`member_id` VARCHAR(30) NOT NULL,
PRIMARY KEY (`number`)
);
ALTER TABLE user_group_member ADD UNIQUE KEY user_group_id_member_id_idx (`user_group_id`,`member_id`);
CREATE TABLE `puser` (
`number` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`user_id` VARCHAR(30) NOT NULL,
`name` VARCHAR(150) NOT NULL,
`department` VARCHAR(150) NOT NULL,
`phonenumber` VARCHAR(100),
`email` VARCHAR(100),
PRIMARY KEY (`number`)
);
ALTER TABLE puser ADD UNIQUE KEY user_id_idx (`user_id`);
CREATE TABLE `alarm_rule` (
`rule_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`application_id` VARCHAR(30) NOT NULL,
`service_type` VARCHAR(30) NOT NULL,
`checker_name` VARCHAR(50) NOT NULL,
`threshold` INT(10) DEFAULT NULL,
`user_group_id` VARCHAR(30) NOT NULL,
`sms_send` CHAR(1) DEFAULT NULL,
`email_send` CHAR(1) DEFAULT NULL,
`notes` VARCHAR(100) DEFAULT NULL,
PRIMARY KEY (`rule_id`)
);
ALTER TABLE alarm_rule ADD UNIQUE KEY application_id_checker_name_user_group_id_idx (application_id, user_group_id, checker_name);
CREATE TABLE `alarm_history` (
`history_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`application_id` VARCHAR(30) NOT NULL,
`checker_name` VARCHAR(50) NOT NULL,
`detected` CHAR(1) DEFAULT NULL,
`sequence_count` INT(10),
`timing_count` INT(10),
PRIMARY KEY (`history_id`)
);
ALTER TABLE alarm_history ADD UNIQUE KEY application_id_checker_name_idx (application_id, checker_name);
CREATE TABLE `agent_statistics` (
`agent_count` INT(10) UNSIGNED NOT NULL,
`date_val`DATETIME NOT NULL,
PRIMARY KEY (`date_val`)
);
+4
View File
@@ -0,0 +1,4 @@
FROM mysql:5.7
ADD CreateTableStatement-mysql.sql /docker-entrypoint-initdb.d
ADD SpringBatchJobReositorySchema-mysql.sql /docker-entrypoint-initdb.d
@@ -0,0 +1,98 @@
CREATE TABLE BATCH_JOB_INSTANCE (
JOB_INSTANCE_ID BIGINT NOT NULL PRIMARY KEY ,
VERSION BIGINT ,
JOB_NAME VARCHAR(100) NOT NULL,
JOB_KEY VARCHAR(32) NOT NULL,
constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY)
) ENGINE=InnoDB;
CREATE TABLE BATCH_JOB_EXECUTION (
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY ,
VERSION BIGINT ,
JOB_INSTANCE_ID BIGINT NOT NULL,
CREATE_TIME DATETIME NOT NULL,
START_TIME DATETIME DEFAULT NULL ,
END_TIME DATETIME DEFAULT NULL ,
STATUS VARCHAR(10) ,
EXIT_CODE VARCHAR(100) ,
EXIT_MESSAGE VARCHAR(2500) ,
LAST_UPDATED DATETIME,
constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
) ENGINE=InnoDB;
CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
JOB_EXECUTION_ID BIGINT NOT NULL ,
TYPE_CD VARCHAR(6) NOT NULL ,
KEY_NAME VARCHAR(100) NOT NULL ,
STRING_VAL VARCHAR(250) ,
DATE_VAL DATETIME DEFAULT NULL ,
LONG_VAL BIGINT ,
DOUBLE_VAL DOUBLE PRECISION ,
IDENTIFYING CHAR(1) NOT NULL ,
constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
) ENGINE=InnoDB;
CREATE TABLE BATCH_STEP_EXECUTION (
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY ,
VERSION BIGINT NOT NULL,
STEP_NAME VARCHAR(100) NOT NULL,
JOB_EXECUTION_ID BIGINT NOT NULL,
START_TIME DATETIME NOT NULL ,
END_TIME DATETIME DEFAULT NULL ,
STATUS VARCHAR(10) ,
COMMIT_COUNT BIGINT ,
READ_COUNT BIGINT ,
FILTER_COUNT BIGINT ,
WRITE_COUNT BIGINT ,
READ_SKIP_COUNT BIGINT ,
WRITE_SKIP_COUNT BIGINT ,
PROCESS_SKIP_COUNT BIGINT ,
ROLLBACK_COUNT BIGINT ,
EXIT_CODE VARCHAR(100) ,
EXIT_MESSAGE VARCHAR(2500) ,
LAST_UPDATED DATETIME,
constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID)
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
) ENGINE=InnoDB;
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
SERIALIZED_CONTEXT TEXT ,
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
) ENGINE=InnoDB;
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
SERIALIZED_CONTEXT TEXT ,
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
) ENGINE=InnoDB;
CREATE TABLE BATCH_STEP_EXECUTION_SEQ (
ID BIGINT NOT NULL,
UNIQUE_KEY CHAR(1) NOT NULL,
constraint UNIQUE_KEY_UN unique (UNIQUE_KEY)
) ENGINE=MYISAM;
INSERT INTO BATCH_STEP_EXECUTION_SEQ values(0, '0');
CREATE TABLE BATCH_JOB_EXECUTION_SEQ (
ID BIGINT NOT NULL,
UNIQUE_KEY CHAR(1) NOT NULL,
constraint UNIQUE_KEY_UN unique (UNIQUE_KEY)
) ENGINE=MYISAM;
INSERT INTO BATCH_JOB_EXECUTION_SEQ values(0, '0');
CREATE TABLE BATCH_JOB_SEQ (
ID BIGINT NOT NULL,
UNIQUE_KEY CHAR(1) NOT NULL,
constraint UNIQUE_KEY_UN unique (UNIQUE_KEY)
) ENGINE=MYISAM;
INSERT INTO BATCH_JOB_SEQ values(0, '0');
+1 -2
View File
@@ -20,5 +20,4 @@ RUN chmod a+x /usr/local/bin/start-web.sh \
EXPOSE 8080
ENTRYPOINT ["/usr/local/bin/start-web.sh"]
ENTRYPOINT ["/usr/local/bin/start-web.sh"]
+14 -1
View File
@@ -3,7 +3,7 @@ set -e
set -x
CLUSTER_ENABLE=${CLUSTER_ENABLE:-false}
CLUSTER_ZOOKEEPER_ADDRESS=${CLUSTER_ZOOKEEPER_ADDRESS:-localhost}
ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin}
HBASE_HOST=${HBASE_HOST:-localhost}
@@ -11,10 +11,23 @@ HBASE_PORT=${HBASE_PORT:-2181}
DISABLE_DEBUG=${DISABLE_DEBUG:-true}
JDBC_DRIVER=${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}
echo -e "
jdbc.driverClassName=${JDBC_DRIVER}
jdbc.url=${JDBC_URL}
jdbc.username=${JDBC_USERNAME}
jdbc.password=${JDBC_PASSWORD}
" > /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/jdbc.properties
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
sed -i "s/admin.password=admin/admin.password=${ADMIN_PASSWORD}/g" /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/pinpoint-web.properties