增加运维监控项目的Docker配置和启动脚本
This commit is contained in:
commit
e2d41c3c22
82
itbaima-monitor/client.sh
Normal file
82
itbaima-monitor/client.sh
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#这里可替换为你自己的执行程序,其他代码无需更改
|
||||||
|
APP_NAME=itbaima-monitor-client.jar
|
||||||
|
#项目路径
|
||||||
|
PROJECT_PATH=.
|
||||||
|
|
||||||
|
#使用说明,用来提示输入参数
|
||||||
|
usage() {
|
||||||
|
echo "使用方法: 脚本名.sh [start|stop|restart|status]"
|
||||||
|
echo "使用方法: ./脚本名.sh start 是启动"
|
||||||
|
echo "使用方法: ./脚本名.sh stop 是停止"
|
||||||
|
echo "使用方法: ./脚本名.sh status 是查看输出运行状态"
|
||||||
|
echo "使用方法: ./脚本名.sh restart 是重启"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
#检查程序是否在运行
|
||||||
|
is_exist(){
|
||||||
|
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
|
||||||
|
#如果不存在返回1,存在返回0
|
||||||
|
if [ -z "${pid}" ]; then
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
#启动方法
|
||||||
|
start(){
|
||||||
|
is_exist
|
||||||
|
if [ $? -eq "0" ]; then
|
||||||
|
echo "${APP_NAME} is already running. pid=${pid} ."
|
||||||
|
else
|
||||||
|
nohup java -jar $PROJECT_PATH/$APP_NAME > /dev/null 2>&1 &
|
||||||
|
echo "${APP_NAME} start success"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
#停止方法
|
||||||
|
stop(){
|
||||||
|
is_exist
|
||||||
|
if [ $? -eq "0" ]; then
|
||||||
|
kill -9 $pid
|
||||||
|
else
|
||||||
|
echo "${APP_NAME} is not running"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
#输出运行状态
|
||||||
|
status(){
|
||||||
|
is_exist
|
||||||
|
if [ $? -eq "0" ]; then
|
||||||
|
echo "${APP_NAME} is running. Pid is ${pid}"
|
||||||
|
else
|
||||||
|
echo "${APP_NAME} is NOT running."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
#重启
|
||||||
|
restart(){
|
||||||
|
stop
|
||||||
|
start
|
||||||
|
}
|
||||||
|
|
||||||
|
#根据输入参数,选择执行对应方法,不输入则执行使用说明
|
||||||
|
case "$1" in
|
||||||
|
"start")
|
||||||
|
start
|
||||||
|
;;
|
||||||
|
"stop")
|
||||||
|
stop
|
||||||
|
;;
|
||||||
|
"status")
|
||||||
|
status
|
||||||
|
;;
|
||||||
|
"restart")
|
||||||
|
restart
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
esac
|
79
itbaima-monitor/docker-compose.yml
Normal file
79
itbaima-monitor/docker-compose.yml
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
networks:
|
||||||
|
work:
|
||||||
|
driver: bridge
|
||||||
|
services:
|
||||||
|
mysql:
|
||||||
|
image: mysql:8.0.40
|
||||||
|
container_name: mysql
|
||||||
|
environment:
|
||||||
|
MYSQL_DATABASE: monitor
|
||||||
|
MYSQL_ROOT_PASSWORD: 123456
|
||||||
|
TZ: Asia/Shanghai
|
||||||
|
volumes:
|
||||||
|
- ./mysql:/var/lib/mysql
|
||||||
|
- ./monitor.sql:/docker-entrypoint-initdb.d/init.sql
|
||||||
|
ports:
|
||||||
|
- "3306:3306"
|
||||||
|
networks:
|
||||||
|
- work
|
||||||
|
rabbitmq:
|
||||||
|
image: rabbitmq:management
|
||||||
|
container_name: rabbitmq
|
||||||
|
environment:
|
||||||
|
RABBITMQ_DEFAULT_USER: admin
|
||||||
|
RABBITMQ_DEFAULT_PASS: admin
|
||||||
|
volumes:
|
||||||
|
- ./rabbitmq:/var/lib/rabbitmq
|
||||||
|
ports:
|
||||||
|
- "5672:5672"
|
||||||
|
- "15672:15672"
|
||||||
|
networks:
|
||||||
|
- work
|
||||||
|
influxdb:
|
||||||
|
image: influxdb:2
|
||||||
|
ports:
|
||||||
|
- "8086:8086"
|
||||||
|
environment:
|
||||||
|
- DOCKER_INFLUXDB_INIT_MODE=setup
|
||||||
|
- DOCKER_INFLUXDB_INIT_USERNAME=admin
|
||||||
|
- DOCKER_INFLUXDB_INIT_PASSWORD=12345678
|
||||||
|
- DOCKER_INFLUXDB_INIT_ORG=itbaima
|
||||||
|
- DOCKER_INFLUXDB_INIT_BUCKET=monitor
|
||||||
|
volumes:
|
||||||
|
- ./influxdb/data:/var/lib/influxdb2
|
||||||
|
- ./influxdb/config:/etc/influxdb2
|
||||||
|
container_name: influxdb
|
||||||
|
networks:
|
||||||
|
- work
|
||||||
|
redis:
|
||||||
|
image: redis
|
||||||
|
container_name: redis
|
||||||
|
ports:
|
||||||
|
- "6379:6379"
|
||||||
|
volumes:
|
||||||
|
- ./redis:/data
|
||||||
|
networks:
|
||||||
|
- work
|
||||||
|
itbaima-monitor-server:
|
||||||
|
image: itbaimastydu/itbaima-monitor-server:1.0.0
|
||||||
|
container_name: monitor-server
|
||||||
|
environment:
|
||||||
|
- MYSQL_URL=jdbc:mysql://mysql:3306/monitor
|
||||||
|
- RABBITMQ_ADDRESS=rabbitmq
|
||||||
|
- INFLUX_DB_URL=http://influxdb:8086
|
||||||
|
- REDIS_HOST=redis
|
||||||
|
volumes:
|
||||||
|
- ./logs:/work/logs
|
||||||
|
ports:
|
||||||
|
- "8080:80"
|
||||||
|
networks:
|
||||||
|
- work
|
||||||
|
itbaima-monitor-web:
|
||||||
|
image: itbaimastydu/itbaima-monitor-web:1.0.0
|
||||||
|
container_name: monitor-web
|
||||||
|
environment:
|
||||||
|
- API_BASE_URL=http://10.211.55.4:8080
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
networks:
|
||||||
|
- work
|
BIN
itbaima-monitor/itbaima-monitor-client.jar
Normal file
BIN
itbaima-monitor/itbaima-monitor-client.jar
Normal file
Binary file not shown.
106
itbaima-monitor/monitor.sql
Normal file
106
itbaima-monitor/monitor.sql
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
/*
|
||||||
|
Navicat Premium Dump SQL
|
||||||
|
|
||||||
|
Source Server : 10.211.55.4_3306
|
||||||
|
Source Server Type : MySQL
|
||||||
|
Source Server Version : 80040 (8.0.40)
|
||||||
|
Source Host : 10.211.55.4:3306
|
||||||
|
Source Schema : monitor
|
||||||
|
|
||||||
|
Target Server Type : MySQL
|
||||||
|
Target Server Version : 80040 (8.0.40)
|
||||||
|
File Encoding : 65001
|
||||||
|
|
||||||
|
Date: 18/12/2024 23:48:12
|
||||||
|
*/
|
||||||
|
|
||||||
|
SET NAMES utf8mb4;
|
||||||
|
SET FOREIGN_KEY_CHECKS = 0;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for db_account
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `db_account`;
|
||||||
|
CREATE TABLE `db_account` (
|
||||||
|
`id` int NOT NULL AUTO_INCREMENT,
|
||||||
|
`username` varchar(255) DEFAULT NULL,
|
||||||
|
`email` varchar(255) DEFAULT NULL,
|
||||||
|
`password` varchar(255) DEFAULT NULL,
|
||||||
|
`role` varchar(255) DEFAULT NULL,
|
||||||
|
`clients` json DEFAULT NULL,
|
||||||
|
`register_time` datetime DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
UNIQUE KEY `unique_email` (`email`),
|
||||||
|
UNIQUE KEY `unique_username` (`username`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of db_account
|
||||||
|
-- ----------------------------
|
||||||
|
BEGIN;
|
||||||
|
INSERT INTO `db_account` (`id`, `username`, `email`, `password`, `role`, `clients`, `register_time`) VALUES (1, 'admin', 'monitor-test@qq.com', '$2a$10$EEGWiiUpyhamMpQdQNS8xuwfjznm65aN51F1zDt1RJlJWOrtF6Vlm', 'admin', NULL, '2024-12-06 18:09:55');
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for db_client
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `db_client`;
|
||||||
|
CREATE TABLE `db_client` (
|
||||||
|
`id` int NOT NULL,
|
||||||
|
`name` varchar(255) DEFAULT NULL,
|
||||||
|
`token` varchar(255) DEFAULT NULL,
|
||||||
|
`location` varchar(255) DEFAULT NULL,
|
||||||
|
`node` varchar(255) DEFAULT NULL,
|
||||||
|
`register_time` datetime DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of db_client
|
||||||
|
-- ----------------------------
|
||||||
|
BEGIN;
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for db_client_detail
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `db_client_detail`;
|
||||||
|
CREATE TABLE `db_client_detail` (
|
||||||
|
`id` int NOT NULL,
|
||||||
|
`os_arch` varchar(255) DEFAULT NULL,
|
||||||
|
`os_name` varchar(255) DEFAULT NULL,
|
||||||
|
`os_version` varchar(255) DEFAULT NULL,
|
||||||
|
`os_bit` int DEFAULT NULL,
|
||||||
|
`cpu_name` varchar(255) DEFAULT NULL,
|
||||||
|
`cpu_core` int DEFAULT NULL,
|
||||||
|
`memory` double DEFAULT NULL,
|
||||||
|
`disk` double DEFAULT NULL,
|
||||||
|
`ip` varchar(255) DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of db_client_detail
|
||||||
|
-- ----------------------------
|
||||||
|
BEGIN;
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for db_client_ssh
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `db_client_ssh`;
|
||||||
|
CREATE TABLE `db_client_ssh` (
|
||||||
|
`id` int NOT NULL,
|
||||||
|
`port` int DEFAULT NULL,
|
||||||
|
`username` varchar(255) DEFAULT NULL,
|
||||||
|
`password` varchar(255) DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of db_client_ssh
|
||||||
|
-- ----------------------------
|
||||||
|
BEGIN;
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
|
SET FOREIGN_KEY_CHECKS = 1;
|
Loading…
x
Reference in New Issue
Block a user