| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 | 
							- #!/bin/bash
 
- #使用说明,用来提示输入参数
 
- usage() {
 
- 	echo "Usage: sh 执行脚本.sh [port|mount|base|monitor|modules|prometheus|alertmanager|stop|rm|rmiNoneTag]"
 
- 	exit 1
 
- }
 
- #开启所需端口
 
- port(){
 
- 	#gateway
 
- 	firewall-cmd --add-port=88/tcp --permanent
 
- 	#web
 
- 	firewall-cmd --add-port=8000/tcp --permanent
 
- 	#nacos
 
- 	firewall-cmd --add-port=8848/tcp --permanent
 
- 	firewall-cmd --add-port=9848/tcp --permanent
 
- 	firewall-cmd --add-port=9849/tcp --permanent
 
- 	#sentinel
 
- 	firewall-cmd --add-port=8858/tcp --permanent
 
- 	#grafana
 
- 	firewall-cmd --add-port=3000/tcp --permanent
 
- 	#mysql
 
- 	firewall-cmd --add-port=3306/tcp --permanent
 
- 	#redis
 
- 	firewall-cmd --add-port=3379/tcp --permanent
 
- 	#admin
 
- 	firewall-cmd --add-port=7002/tcp --permanent
 
- 	#turbine
 
- 	firewall-cmd --add-port=7003/tcp --permanent
 
- 	#ureport
 
- 	firewall-cmd --add-port=8108/tcp --permanent
 
- 	#zipkin
 
- 	firewall-cmd --add-port=9411/tcp --permanent
 
- 	#prometheus
 
- 	firewall-cmd --add-port=9090/tcp --permanent
 
- 	#swagger
 
- 	firewall-cmd --add-port=18000/tcp --permanent
 
- 	#firewalld
 
- 	service firewalld restart
 
- }
 
- ##放置挂载文件
 
- mount(){
 
- 	#挂载配置文件
 
- 	if test ! -f "/docker/nginx/api/nginx.conf" ;then
 
- 		mkdir -p /docker/nginx/api
 
- 		cp nginx/api/nginx.conf /docker/nginx/api/nginx.conf
 
- 	fi
 
- 	if test ! -f "/docker/nginx/web/nginx.conf" ;then
 
- 		mkdir -p /docker/nginx/web
 
- 		cp nginx/web/nginx.conf /docker/nginx/web/nginx.conf
 
- 		cp -r nginx/web/html /docker/nginx/web/html
 
- 	fi
 
- 	if test ! -f "/docker/nacos/init.d/custom.properties" ;then
 
- 		mkdir -p /docker/nacos/init.d
 
- 		cp nacos/init.d/custom.properties /docker/nacos/init.d/custom.properties
 
- 	fi
 
- 	if test ! -f "/docker/prometheus/prometheus.yml" ;then
 
- 		mkdir -p /docker/prometheus
 
- 		cp prometheus/config/prometheus.yml /docker/prometheus/prometheus.yml
 
- 	fi
 
- 	if test ! -f "/docker/prometheus/rules/alert_rules.yml" ;then
 
- 		mkdir -p /docker/prometheus/rules
 
- 		cp prometheus/config/alert_rules.yml /docker/prometheus/rules/alert_rules.yml
 
- 	fi
 
- 	if test ! -f "/docker/grafana/grafana.ini" ;then
 
- 		mkdir -p /docker/grafana
 
- 		cp prometheus/config/grafana.ini /docker/grafana/grafana.ini
 
- 	fi
 
- 	if test ! -f "/docker/alertmanager/alertmanager.yml" ;then
 
- 		mkdir -p /docker/alertmanager
 
- 		cp prometheus/config/alertmanager.yml /docker/alertmanager/alertmanager.yml
 
- 	fi
 
- 	if test ! -f "/docker/alertmanager/templates/wechat.tmpl" ;then
 
- 		mkdir -p /docker/alertmanager/templates
 
- 		cp prometheus/config/wechat.tmpl /docker/alertmanager/templates/wechat.tmpl
 
- 	fi
 
- 	if test ! -f "/docker/webhook_dingtalk/dingtalk.yml" ;then
 
- 		mkdir -p /docker/webhook_dingtalk
 
- 		cp prometheus/config/dingtalk.yml /docker/webhook_dingtalk/dingtalk.yml
 
- 	fi
 
- 	#增加目录权限
 
- 	chmod -R 777 /docker/prometheus
 
- 	chmod -R 777 /docker/grafana
 
- 	chmod -R 777 /docker/alertmanager
 
- }
 
- #启动基础模块
 
- base(){
 
- 	docker-compose up -d nacos sentinel seata-server web-nginx blade-nginx blade-redis
 
- }
 
- #启动监控模块
 
- monitor(){
 
- 	docker-compose up -d blade-admin blade-turbine
 
- }
 
- #启动程序模块
 
- modules(){
 
- 	docker-compose up -d blade-gateway1 blade-gateway2 blade-auth1 blade-auth2 blade-swagger blade-report blade-user blade-desk blade-system blade-log blade-flow blade-resource
 
- }
 
- #启动普罗米修斯模块
 
- prometheus(){
 
- 	docker-compose up -d prometheus node-exporter mysqld-exporter cadvisor grafana
 
- }
 
- #启动监听模块
 
- alertmanager(){
 
- 	docker-compose up -d alertmanager webhook-dingtalk
 
- }
 
- #关闭所有模块
 
- stop(){
 
- 	docker-compose stop
 
- }
 
- #删除所有模块
 
- rm(){
 
- 	docker-compose rm
 
- }
 
- #删除Tag为空的镜像
 
- rmiNoneTag(){
 
- 	docker images|grep none|awk '{print $3}'|xargs docker rmi -f
 
- }
 
- #根据输入参数,选择执行对应方法,不输入则执行使用说明
 
- case "$1" in
 
- "port")
 
- 	port
 
- ;;
 
- "mount")
 
- 	mount
 
- ;;
 
- "base")
 
- 	base
 
- ;;
 
- "monitor")
 
- 	monitor
 
- ;;
 
- "modules")
 
- 	modules
 
- ;;
 
- "prometheus")
 
- 	prometheus
 
- ;;
 
- "alertmanager")
 
- 	alertmanager
 
- ;;
 
- "stop")
 
- 	stop
 
- ;;
 
- "rm")
 
- 	rm
 
- ;;
 
- "rmiNoneTag")
 
- 	rmiNoneTag
 
- ;;
 
- *)
 
- 	usage
 
- ;;
 
- esac
 
 
  |