Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
map-parent
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
常超
map-parent
Commits
56b73419
Commit
56b73419
authored
Jan 09, 2023
by
宋珺琪
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加admin 服务监控(湖南)
parent
28605f7b
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
311 additions
and
0 deletions
+311
-0
service/monitoring/pom.xml
+93
-0
service/monitoring/src/main/java/com/founder/monitoring/SpringBootAdminServerApplication.java
+25
-0
service/monitoring/src/main/java/com/founder/monitoring/config/CustomNotifierConfig.java
+51
-0
service/monitoring/src/main/java/com/founder/monitoring/config/HttpHeadersProviderConfig.java
+24
-0
service/monitoring/src/main/java/com/founder/monitoring/config/SecuritySecureConfig.java
+52
-0
service/monitoring/src/main/resources/application.properties
+7
-0
service/publicapi/pom.xml
+7
-0
service/publicapi/src/main/resources/bootstrap-dev.properties
+25
-0
service/publicapi/src/main/resources/bootstrap-prod.properties
+26
-0
service/publicapi/src/main/resources/bootstrap.properties
+1
-0
No files found.
service/monitoring/pom.xml
0 → 100644
View file @
56b73419
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
com.founder
</groupId>
<artifactId>
monitoring
</artifactId>
<version>
0.0.1-SNAPSHOT
</version>
<name>
monitoring
</name>
<description>
SpringBoot系列——admin服务监控
</description>
<parent>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-parent
</artifactId>
<version>
2.2.0.RELEASE
</version>
<relativePath/>
</parent>
<dependencies>
<!--用于检查系统的监控情况-->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-actuator
</artifactId>
</dependency>
<!-- spring-boot-starter -->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter
</artifactId>
</dependency>
<!-- springboot web(MVC)-->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
<!-- 引入admin相关依赖 2.2.0页面支持中文显示,需要springboot 2.2.0 -->
<dependency>
<groupId>
de.codecentric
</groupId>
<artifactId>
spring-boot-admin-starter-server
</artifactId>
<version>
2.2.0
</version>
</dependency>
<!--springboot security 安全相关-->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-security
</artifactId>
</dependency>
<!--
报错:java.lang.IllegalStateException: Calling [asyncError()] is not valid for a request with Async state [MUST_DISPATCH]
解决:移除tomcat,换成jetty
-->
<!-- <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>-->
<!--去除内嵌tomcat-->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-tomcat
</artifactId>
<scope>
provided
</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-websocket -->
<!--websocket依赖包-->
<dependency>
<groupId>
org.apache.tomcat.embed
</groupId>
<artifactId>
tomcat-embed-websocket
</artifactId>
</dependency>
</dependencies>
<build>
<finalName>
monitoring10010
</finalName>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
</plugins>
</build>
</project>
service/monitoring/src/main/java/com/founder/monitoring/SpringBootAdminServerApplication.java
0 → 100644
View file @
56b73419
package
com
.
founder
.
monitoring
;
import
de.codecentric.boot.admin.server.config.EnableAdminServer
;
import
org.springframework.boot.ApplicationRunner
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.context.annotation.Bean
;
@EnableAdminServer
//开启AdminServer功能
@SpringBootApplication
public
class
SpringBootAdminServerApplication
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
SpringBootAdminServerApplication
.
class
,
args
);
}
/**
* 启动成功
*/
@Bean
public
ApplicationRunner
applicationRunner
()
{
return
applicationArguments
->
{
System
.
out
.
println
(
"启动成功!"
);
};
}
}
service/monitoring/src/main/java/com/founder/monitoring/config/CustomNotifierConfig.java
0 → 100644
View file @
56b73419
package
com
.
founder
.
monitoring
.
config
;
import
de.codecentric.boot.admin.server.domain.entities.Instance
;
import
de.codecentric.boot.admin.server.domain.entities.InstanceRepository
;
import
de.codecentric.boot.admin.server.domain.events.InstanceEvent
;
import
de.codecentric.boot.admin.server.domain.events.InstanceStatusChangedEvent
;
import
de.codecentric.boot.admin.server.notify.AbstractStatusChangeNotifier
;
import
org.springframework.stereotype.Component
;
import
reactor.core.publisher.Mono
;
/**
* 自定义通知
* 继承 AbstractStatusChangeNotifier 类,实现了 doNotify 方法,
* 当应用状态改变的时候会回调 doNotify 方法。
*/
@Component
public
class
CustomNotifierConfig
extends
AbstractStatusChangeNotifier
{
public
CustomNotifierConfig
(
InstanceRepository
repository
)
{
super
(
repository
);
}
@Override
protected
Mono
<
Void
>
doNotify
(
InstanceEvent
event
,
Instance
instance
)
{
return
Mono
.
fromRunnable
(()
->
{
if
(
event
instanceof
InstanceStatusChangedEvent
)
{
System
.
out
.
println
(
"实例名称:"
+
instance
.
getRegistration
().
getName
());
System
.
out
.
println
(
"实例服务地址:"
+
instance
.
getRegistration
().
getServiceUrl
());
String
status
=
((
InstanceStatusChangedEvent
)
event
).
getStatusInfo
().
getStatus
();
switch
(
status
)
{
case
"DOWN"
:
System
.
out
.
println
(
"健康检查没通过!"
);
break
;
case
"OFFLINE"
:
System
.
out
.
println
(
"服务离线!"
);
break
;
case
"UP"
:
System
.
out
.
println
(
"服务上线!"
);
break
;
case
"UNKNOWN"
:
System
.
out
.
println
(
"服务未知异常!"
);
break
;
default
:
System
.
out
.
println
(
status
);
break
;
}
}
});
}
}
service/monitoring/src/main/java/com/founder/monitoring/config/HttpHeadersProviderConfig.java
0 → 100644
View file @
56b73419
package
com
.
founder
.
monitoring
.
config
;
import
de.codecentric.boot.admin.server.domain.entities.Instance
;
import
de.codecentric.boot.admin.server.web.client.HttpHeadersProvider
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.stereotype.Component
;
/**
* 注入额外的请求头,方便客户端区分请求来源
*/
@Component
public
class
HttpHeadersProviderConfig
implements
HttpHeadersProvider
{
@Value
(
"${server.port}"
)
private
String
port
;
@Override
public
HttpHeaders
getHeaders
(
Instance
instance
)
{
HttpHeaders
httpHeaders
=
new
HttpHeaders
();
//设置约定好的请求头参数
httpHeaders
.
add
(
"spring-boot-admin-service"
,
port
);
return
httpHeaders
;
}
}
service/monitoring/src/main/java/com/founder/monitoring/config/SecuritySecureConfig.java
0 → 100644
View file @
56b73419
package
com
.
founder
.
monitoring
.
config
;
import
de.codecentric.boot.admin.server.config.AdminServerProperties
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.security.config.annotation.web.builders.HttpSecurity
;
import
org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter
;
import
org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler
;
import
org.springframework.security.web.csrf.CookieCsrfTokenRepository
;
/**
* Security安全配置
*/
@Configuration
public
class
SecuritySecureConfig
extends
WebSecurityConfigurerAdapter
{
//项目应用路径
private
final
String
adminContextPath
;
public
SecuritySecureConfig
(
AdminServerProperties
adminServerProperties
)
{
this
.
adminContextPath
=
adminServerProperties
.
getContextPath
();
}
@Override
protected
void
configure
(
HttpSecurity
http
)
throws
Exception
{
SavedRequestAwareAuthenticationSuccessHandler
successHandler
=
new
SavedRequestAwareAuthenticationSuccessHandler
();
successHandler
.
setTargetUrlParameter
(
"redirectTo"
);
successHandler
.
setDefaultTargetUrl
(
adminContextPath
+
"/"
);
http
.
authorizeRequests
()
//无需登录即可访问
.
antMatchers
(
adminContextPath
+
"/assets/**"
).
permitAll
()
.
antMatchers
(
adminContextPath
+
"/login"
).
permitAll
()
.
anyRequest
().
authenticated
()
.
and
()
//登录和登出路径
.
formLogin
().
loginPage
(
adminContextPath
+
"/login"
).
successHandler
(
successHandler
).
and
()
.
logout
().
logoutUrl
(
adminContextPath
+
"/logout"
).
and
()
//开启http basic支持,admin-client注册时需要使用
.
httpBasic
().
and
()
.
csrf
()
//开启基于cookie的csrf保护
.
csrfTokenRepository
(
CookieCsrfTokenRepository
.
withHttpOnlyFalse
())
//忽略这些路径的csrf保护以便admin-client注册
.
ignoringAntMatchers
(
adminContextPath
+
"/instances"
,
adminContextPath
+
"/actuator/**"
);
}
}
service/monitoring/src/main/resources/application.properties
0 → 100644
View file @
56b73419
server.port
=
10010
spring.application.name
=
springboot-admin-server
#\u914D\u7F6E\u4E00\u4E2A\u8D26\u53F7\u548C\u5BC6\u7801
spring.security.user.name
=
admin
spring.security.user.password
=
admin
\ No newline at end of file
service/publicapi/pom.xml
View file @
56b73419
...
@@ -44,6 +44,13 @@
...
@@ -44,6 +44,13 @@
</build>
</build>
<dependencies>
<dependencies>
<!-- 客户端依赖 引入admin相关依赖 -->
<dependency>
<groupId>
de.codecentric
</groupId>
<artifactId>
spring-boot-admin-starter-client
</artifactId>
<version>
2.2.0
</version>
</dependency>
<dependency>
<dependency>
<groupId>
org.apache.cxf
</groupId>
<groupId>
org.apache.cxf
</groupId>
<artifactId>
cxf-rt-rs-client
</artifactId>
<artifactId>
cxf-rt-rs-client
</artifactId>
...
...
service/publicapi/src/main/resources/bootstrap-dev.properties
View file @
56b73419
...
@@ -84,3 +84,27 @@ jasypt.encryptor.password=lybgeek
...
@@ -84,3 +84,27 @@ jasypt.encryptor.password=lybgeek
hdUrl
=
/sjcx/getTxxxBySjhm
hdUrl
=
/sjcx/getTxxxBySjhm
#\u901A\u8FC7\u624B\u673A\u83B7\u53D6\u5BC4\u9012\u4FE1\u606F
#\u901A\u8FC7\u624B\u673A\u83B7\u53D6\u5BC4\u9012\u4FE1\u606F
thgxUrl
=
/gjcx/getThr
thgxUrl
=
/gjcx/getThr
#admin\u670D\u52A1\u76D1\u63A7\u6DFB\u52A0\u63CF\u8FF0\uFF08\u9875\u9762\u7EC6\u8282\u91CC\u7684\u4FE1\u606F \u63CF\u8FF0\u3001\u4F5C\u8005\u3001\u7248\u672C\uFF09
info.describe
=
SpringBoot_Founder_publicapi
info.author
=
founder
info.version
=
1.0.0
info.adderss
=
http://47.92.48.137:1004/#/login
spring.boot.admin.client.instance.prefer-ip
=
true
#\u542F\u7528\u7AEF\u70B9\uFF0C\u9ED8\u8BA4\u60C5\u51B5\u4E0B\uFF0C\u9664shutdown\u4EE5\u5916\u7684\u6240\u6709\u7AEF\u70B9\u5747\u5DF2\u542F\u7528
management.endpoint.shutdown.enabled
=
true
#\u663E\u793Adb\u3001redis\u3001rabbti\u8FDE\u63A5\u60C5\u51B5\u7B49
management.endpoint.health.show-details
=
always
#\u516C\u5F00\u6240\u6709\u7AEF\u70B9web\u63A5\u53E3
management.endpoints.web.exposure.include
=
*
#\u670D\u52A1\u7AEFadmin-server\u5730\u5740\uFF0C\u4EE5\u53CA\u767B\u5F55\u8D26\u53F7\u3001\u5BC6\u7801
spring.boot.admin.client.url
=
http://localhost:10010
spring.boot.admin.client.username
=
admin
spring.boot.admin.client.password
=
admin
##\u53EF\u5728\u7EBF\u67E5\u770B\u65E5\u5FD7\uFF0C \u65E5\u5FD7\u5B9E\u65F6\u67E5\u770B\u662Fclient\u63D0\u4F9B\u4E00\u4E2A\u8BFB\u53D6\u672C\u5730\u6587\u4EF6\u7684\u63A5\u53E3\uFF0C\u7136\u540Eadmin\u5B9A\u65F6\u8C03\u7528\u663E\u793A\uFF0C\u8FBE\u5230\u5B9E\u65F6\u5C55\u793A\u7684\u6548\u679C\u3002
management.endpoint.logfile.enabled
=
true
#\u751F\u6210\u65E5\u5FD7\u7684\u8DEF\u5F84\u8DDF\u66B4\u9732\u7ED9\u670D\u52A1\u7AEF\u7684\u8DEF\u5F84\u8981\u4E00\u81F4---\u9875\u9762\u65E5\u5FD7\u6587\u4EF6\u5199\u672C\u5730\u751F\u6210\u65E5\u5FD7\u6587\u4EF6\u7684\u8DEF\u5F84
management.endpoint.logfile.external-file
=
/data2/skglpt/publicapi1003.log
\ No newline at end of file
service/publicapi/src/main/resources/bootstrap-prod.properties
View file @
56b73419
...
@@ -83,3 +83,28 @@ hdUrl=/sjcx/getTxxxBySjhm
...
@@ -83,3 +83,28 @@ hdUrl=/sjcx/getTxxxBySjhm
#\u901A\u8FC7\u624B\u673A\u83B7\u53D6\u5BC4\u9012\u4FE1\u606F
#\u901A\u8FC7\u624B\u673A\u83B7\u53D6\u5BC4\u9012\u4FE1\u606F
thgxUrl
=
/gjcx/getThr
thgxUrl
=
/gjcx/getThr
jasypt.encryptor.password
=
${SKPT_SALT}
jasypt.encryptor.password
=
${SKPT_SALT}
#admin\u670D\u52A1\u76D1\u63A7\u6DFB\u52A0\u63CF\u8FF0\uFF08\u9875\u9762\u7EC6\u8282\u91CC\u7684\u4FE1\u606F \u63CF\u8FF0\u3001\u4F5C\u8005\u3001\u7248\u672C\uFF09
info.describe
=
SpringBootAdmin_Founder_skyp!
info.author
=
founder
info.version
=
1.0.0
info.adderss
=
http://47.92.48.137:1004/#/login
spring.boot.admin.client.instance.prefer-ip
=
true
#\u542F\u7528\u7AEF\u70B9\uFF0C\u9ED8\u8BA4\u60C5\u51B5\u4E0B\uFF0C\u9664shutdown\u4EE5\u5916\u7684\u6240\u6709\u7AEF\u70B9\u5747\u5DF2\u542F\u7528
management.endpoint.shutdown.enabled
=
true
#\u663E\u793Adb\u3001redis\u3001rabbti\u8FDE\u63A5\u60C5\u51B5\u7B49
management.endpoint.health.show-details
=
always
#\u516C\u5F00\u6240\u6709\u7AEF\u70B9web\u63A5\u53E3
management.endpoints.web.exposure.include
=
*
#\u670D\u52A1\u7AEFadmin-server\u5730\u5740\uFF0C\u4EE5\u53CA\u767B\u5F55\u8D26\u53F7\u3001\u5BC6\u7801
spring.boot.admin.client.url
=
http://47.92.48.137:10010
spring.boot.admin.client.username
=
admin
spring.boot.admin.client.password
=
admin
##\u53EF\u5728\u7EBF\u67E5\u770B\u65E5\u5FD7\uFF0C \u65E5\u5FD7\u5B9E\u65F6\u67E5\u770B\u662Fclient\u63D0\u4F9B\u4E00\u4E2A\u8BFB\u53D6\u672C\u5730\u6587\u4EF6\u7684\u63A5\u53E3\uFF0C\u7136\u540Eadmin\u5B9A\u65F6\u8C03\u7528\u663E\u793A\uFF0C\u8FBE\u5230\u5B9E\u65F6\u5C55\u793A\u7684\u6548\u679C\u3002
management.endpoint.logfile.enabled
=
true
#\u751F\u6210\u65E5\u5FD7\u7684\u8DEF\u5F84\u8DDF\u66B4\u9732\u7ED9\u670D\u52A1\u7AEF\u7684\u8DEF\u5F84\u8981\u4E00\u81F4---\u9875\u9762\u65E5\u5FD7\u6587\u4EF6\u5199\u672C\u5730\u751F\u6210\u65E5\u5FD7\u6587\u4EF6\u7684\u8DEF\u5F84
management.endpoint.logfile.external-file
=
/data2/skglpt/publicapi1003.log
\ No newline at end of file
service/publicapi/src/main/resources/bootstrap.properties
View file @
56b73419
spring.profiles.active
=
dev
spring.profiles.active
=
dev
server.port
=
1003
server.port
=
1003
spring.application.name
=
Founder_skyp_publicapi
spring.jackson.date-format
=
yyyy-MM-dd HH:mm:ss
spring.jackson.date-format
=
yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone
=
GMT+8
spring.jackson.time-zone
=
GMT+8
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment