From f47d1e443bb1a686fa8ec8a1262f292dc149cf25 Mon Sep 17 00:00:00 2001
From: fst1996 <2411194573@qq.com>
Date: Wed, 27 Sep 2023 19:55:10 +0800
Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | 47 ++++++++++
Dockerfile | 17 ++++
pom.xml | 92 +++++++++++++++++++
.../monitor/BaWeiMonitorApplication.java | 21 +++++
.../monitor/config/WebSecurityConfigurer.java | 51 ++++++++++
src/main/resources/banner.txt | 10 ++
src/main/resources/bootstrap.yml | 25 +++++
src/main/resources/logback.xml | 74 +++++++++++++++
8 files changed, 337 insertions(+)
create mode 100644 .gitignore
create mode 100644 Dockerfile
create mode 100644 pom.xml
create mode 100644 src/main/java/com/bawei/modules/monitor/BaWeiMonitorApplication.java
create mode 100644 src/main/java/com/bawei/modules/monitor/config/WebSecurityConfigurer.java
create mode 100644 src/main/resources/banner.txt
create mode 100644 src/main/resources/bootstrap.yml
create mode 100644 src/main/resources/logback.xml
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..05d7c76
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,47 @@
+######################################################################
+# Build Tools
+
+.gradle
+/build/
+!gradle/wrapper/gradle-wrapper.jar
+
+target/
+!.mvn/wrapper/maven-wrapper.jar
+
+######################################################################
+# IDE
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### JRebel ###
+rebel.xml
+### NetBeans ###
+nbproject/private/
+build/*
+nbbuild/
+dist/
+nbdist/
+.nb-gradle/
+target/
+
+######################################################################
+# Others
+*.log
+*.xml.versionsBackup
+*.swp
+
+!*/build/*.java
+!*/build/*.html
+!*/build/*.xml
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..c50e724
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,17 @@
+# 基础镜像
+FROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:17-8.6
+
+#暴露端口位置
+EXPOSE 9100
+
+# 挂载目录
+VOLUME /home/logs/bawei-visual-monitor
+
+# 复制jar文件到docker内部
+COPY /target/menghang-visual-monitor.jar /home/app.jar
+
+#工作目录 exec -it 进来默认就是这个目录
+WORKDIR /home
+
+# 启动java程序
+ENTRYPOINT ["java","-Dfile.encoding=UTF-8","-jar","/home/app.jar"]
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..cb7a5d1
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,92 @@
+
+
+ com.bawei
+ parent
+ 3.6.0
+
+ 4.0.0
+
+ 3.6.0
+ menghang-visual-monitor
+
+
+ menghang-visual-monitor监控中心
+
+
+
+
+ menghang-public
+ 梦航-public
+ http://192.168.111.133:8081/repository/maven-public/
+
+
+
+
+
+ menghang-releases
+ 梦航-releases
+ http://192.168.111.133:8081/repository/maven-releases/
+
+
+
+
+
+
+
+ de.codecentric
+ spring-boot-admin-starter-server
+ ${spring-boot-admin.version}
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-sentinel
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-security
+
+
+
+
+
+ ${project.artifactId}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+
+
diff --git a/src/main/java/com/bawei/modules/monitor/BaWeiMonitorApplication.java b/src/main/java/com/bawei/modules/monitor/BaWeiMonitorApplication.java
new file mode 100644
index 0000000..04ee5a4
--- /dev/null
+++ b/src/main/java/com/bawei/modules/monitor/BaWeiMonitorApplication.java
@@ -0,0 +1,21 @@
+package com.bawei.modules.monitor;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import de.codecentric.boot.admin.server.config.EnableAdminServer;
+
+/**
+ * 监控中心
+ *
+ * @author bawei
+ */
+@EnableAdminServer
+@SpringBootApplication
+public class BaWeiMonitorApplication
+{
+ public static void main(String[] args)
+ {
+ SpringApplication.run(BaWeiMonitorApplication.class, args);
+ System.out.println("(♥◠‿◠)ノ゙ 监控中心启动成功 ლ(´ڡ`ლ)゙ ");
+ }
+}
diff --git a/src/main/java/com/bawei/modules/monitor/config/WebSecurityConfigurer.java b/src/main/java/com/bawei/modules/monitor/config/WebSecurityConfigurer.java
new file mode 100644
index 0000000..428600a
--- /dev/null
+++ b/src/main/java/com/bawei/modules/monitor/config/WebSecurityConfigurer.java
@@ -0,0 +1,51 @@
+package com.bawei.modules.monitor.config;
+
+import de.codecentric.boot.admin.server.config.AdminServerProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
+import org.springframework.security.web.SecurityFilterChain;
+import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;
+
+/**
+ * 监控权限配置
+ *
+ * @author bawei
+ */
+@EnableWebSecurity
+public class WebSecurityConfigurer
+{
+ private final String adminContextPath;
+
+ public WebSecurityConfigurer(AdminServerProperties adminServerProperties)
+ {
+ this.adminContextPath = adminServerProperties.getContextPath();
+ }
+
+ @Bean
+ public SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception
+ {
+ SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
+ successHandler.setTargetUrlParameter("redirectTo");
+ successHandler.setDefaultTargetUrl(adminContextPath + "/");
+
+ return httpSecurity
+ .headers().frameOptions().disable()
+ .and().authorizeRequests()
+ .antMatchers(adminContextPath + "/assets/**"
+ , adminContextPath + "/login"
+ , adminContextPath + "/actuator/**"
+ , adminContextPath + "/instances/**"
+ ).permitAll()
+ .anyRequest().authenticated()
+ .and()
+ .formLogin().loginPage(adminContextPath + "/login")
+ .successHandler(successHandler).and()
+ .logout().logoutUrl(adminContextPath + "/logout")
+ .and()
+ .httpBasic().and()
+ .csrf()
+ .disable()
+ .build();
+ }
+}
diff --git a/src/main/resources/banner.txt b/src/main/resources/banner.txt
new file mode 100644
index 0000000..ecaf8a4
--- /dev/null
+++ b/src/main/resources/banner.txt
@@ -0,0 +1,10 @@
+Spring Boot Version: ${spring-boot.version}
+Spring Application Name: ${spring.application.name}
+ _ _ _
+ (_) (_)| |
+ _ __ _ _ ___ _ _ _ ______ _ __ ___ ___ _ __ _ | |_ ___ _ __
+| '__|| | | | / _ \ | | | || ||______|| '_ ` _ \ / _ \ | '_ \ | || __| / _ \ | '__|
+| | | |_| || (_) || |_| || | | | | | | || (_) || | | || || |_ | (_) || |
+|_| \__,_| \___/ \__, ||_| |_| |_| |_| \___/ |_| |_||_| \__| \___/ |_|
+ __/ |
+ |___/
\ No newline at end of file
diff --git a/src/main/resources/bootstrap.yml b/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..6ba2215
--- /dev/null
+++ b/src/main/resources/bootstrap.yml
@@ -0,0 +1,25 @@
+# Tomcat
+server:
+ port: 9100
+
+# Spring
+spring:
+ application:
+ # 应用名称
+ name: bawei-monitor
+ profiles:
+ # 环境配置
+ active: dev
+ cloud:
+ nacos:
+ discovery:
+ # 服务注册地址
+ server-addr: 192.168.111.133:8848
+ config:
+ # 配置中心地址
+ server-addr: 192.168.111.133:8848
+ # 配置文件格式
+ file-extension: yml
+ # 共享配置
+ shared-configs:
+ - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml
new file mode 100644
index 0000000..9c1879b
--- /dev/null
+++ b/src/main/resources/logback.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+ ${log.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+