diff --git a/README.md b/README.md index 83f1eac9..ee75ba00 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ * [《芋道 Spring Boot 安全框架 Spring Security 入门》](http://www.iocoder.cn/Spring-Boot/Spring-Security/?github) 对应 [lab-01](https://github.com/YunaiV/SpringBoot-Labs/tree/master/lab-01) 。 * [《芋道 Spring Boot 授权框架 Spring Security OAuth2 入门》](http://www.iocoder.cn/Spring-Security/OAuth2-learning/?github) 对应 [lab-02](https://github.com/YunaiV/SpringBoot-Labs/tree/master/lab-02) 。 -* 《芋道 Spring Boot Shiro 入门》计划中... +* [《芋道 Spring Boot 安全框架 Shiro 入门》](http://www.iocoder.cn/Spring-Boot/Shiro/?github) 对应 [lab-33](https://github.com/YunaiV/SpringBoot-Labs/tree/master/lab-33) 。 ## 定时任务与异步任务 @@ -51,6 +51,10 @@ * [《芋道 Spring Boot 消息队列 RabbitMQ 入门》](http://www.iocoder.cn/Spring-Boot/RabbitMQ/?github) 对应 [lab-04](https://github.com/YunaiV/SpringBoot-Labs/tree/master/lab-04) 。 * [《芋道 Spring Boot 消息队列 ActiveMQ 入门》](http://www.iocoder.cn/Spring-Boot/ActiveMQ/?github) 对应 [lab-32](https://github.com/YunaiV/SpringBoot-Labs/tree/master/lab-32) 。 +## 监控管理 + + + ## 性能测试 * [《性能测试 —— Tomcat、Jetty、Undertow 基准测试》](http://www.iocoder.cn/Performance-Testing/Tomcat-Jetty-Undertow-benchmark/?github) 对应 [lab-05](https://github.com/YunaiV/SpringBoot-Labs/tree/master/lab-05) 。 @@ -65,10 +69,6 @@ 如下是草稿目录,未来需要整理下 -# lab-01 - -空 - # lab-05 TODO diff --git a/lab-04/lab-04-rabbitmq-demo-orderly/target/classes/META-INF/lab-04-rabbitmq-demo-concurrency.kotlin_module b/lab-04/lab-04-rabbitmq-demo-orderly/target/classes/META-INF/lab-04-rabbitmq-demo-concurrency.kotlin_module deleted file mode 100644 index 2983af70..00000000 Binary files a/lab-04/lab-04-rabbitmq-demo-orderly/target/classes/META-INF/lab-04-rabbitmq-demo-concurrency.kotlin_module and /dev/null differ diff --git a/lab-04/lab-04-rabbitmq-demo-orderly/target/test-classes/META-INF/lab-04-rabbitmq-demo-concurrency.kotlin_module b/lab-04/lab-04-rabbitmq-demo-orderly/target/test-classes/META-INF/lab-04-rabbitmq-demo-concurrency.kotlin_module deleted file mode 100644 index 2983af70..00000000 Binary files a/lab-04/lab-04-rabbitmq-demo-orderly/target/test-classes/META-INF/lab-04-rabbitmq-demo-concurrency.kotlin_module and /dev/null differ diff --git a/lab-34/lab-34-actuator-demo-health/pom.xml b/lab-34/lab-34-actuator-demo-health/pom.xml new file mode 100644 index 00000000..0fc65b14 --- /dev/null +++ b/lab-34/lab-34-actuator-demo-health/pom.xml @@ -0,0 +1,29 @@ + + + + org.springframework.boot + spring-boot-starter-parent + 2.2.2.RELEASE + + + 4.0.0 + + lab-34-actuator-demo-health + + + + + org.springframework.boot + spring-boot-starter-web + + + + + org.springframework.boot + spring-boot-starter-actuator + + + + diff --git a/lab-34/lab-34-actuator-demo-health/src/main/java/cn/iocoder/springboot/lab34/actuatordemo/Application.java b/lab-34/lab-34-actuator-demo-health/src/main/java/cn/iocoder/springboot/lab34/actuatordemo/Application.java new file mode 100644 index 00000000..70532da9 --- /dev/null +++ b/lab-34/lab-34-actuator-demo-health/src/main/java/cn/iocoder/springboot/lab34/actuatordemo/Application.java @@ -0,0 +1,13 @@ +package cn.iocoder.springboot.lab34.actuatordemo; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class Application { + + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } + +} diff --git a/lab-34/lab-34-actuator-demo-health/src/main/java/cn/iocoder/springboot/lab34/actuatordemo/actuate/DemoHealthIndicator.java b/lab-34/lab-34-actuator-demo-health/src/main/java/cn/iocoder/springboot/lab34/actuatordemo/actuate/DemoHealthIndicator.java new file mode 100644 index 00000000..83ef67bd --- /dev/null +++ b/lab-34/lab-34-actuator-demo-health/src/main/java/cn/iocoder/springboot/lab34/actuatordemo/actuate/DemoHealthIndicator.java @@ -0,0 +1,29 @@ +package cn.iocoder.springboot.lab34.actuatordemo.actuate; + +import org.springframework.boot.actuate.health.AbstractHealthIndicator; +import org.springframework.boot.actuate.health.Health; +import org.springframework.stereotype.Component; + +@Component +public class DemoHealthIndicator extends AbstractHealthIndicator { + + @Override + protected void doHealthCheck(Health.Builder builder) { + // 较差是否健康 + boolean success = checkSuccess(); + + // 如果健康,则标记状态为 UP + if (success) { + builder.up().build(); + return; + } + + // 如果不健康,则标记状态为 DOWN + builder.down().withDetail("msg", "我就是做个示例而已"); + } + + private boolean checkSuccess() { + return false; + } + +} diff --git a/lab-34/lab-34-actuator-demo-health/src/main/resources/application.yaml b/lab-34/lab-34-actuator-demo-health/src/main/resources/application.yaml new file mode 100644 index 00000000..e8be45c2 --- /dev/null +++ b/lab-34/lab-34-actuator-demo-health/src/main/resources/application.yaml @@ -0,0 +1,23 @@ +management: + endpoint: + # Health 端点配置项,对应 HealthProperties 配置类 + health: + enabled: true # 是否开启。默认为 true 开启。 + show-details: ALWAYS # 何时显示完整的健康信息。默认为 NEVER 都不展示。可选 WHEN_AUTHORIZED 当经过授权的用户;可选 ALWAYS 总是展示。 + status: + http-mapping: # 设置不同健康状态对应的响应状态码 + DOWN: 403 + health: + # DiskSpaceHealthIndicator 配置项,对应 DiskSpaceHealthIndicatorProperties + diskspace: + enabled: true # 是否开启。默认为 true 开启。 + path: . # 目录。默认为 . 当前目录。 + threshold: # 剩余空间的阀值。默认为 10M 。 + endpoints: + # Actuator HTTP 配置项,对应 WebEndpointProperties 配置类 + web: + base-path: /actuator # Actuator 提供的 API 接口的根目录。默认为 /actuator + exposure: + include: '*' # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。 + exclude: # 在 include 的基础上,需要排除的端点。通过设置 * ,可以排除所有端点。 + diff --git a/lab-34/lab-34-actuator-demo-health/target/classes/application.yaml b/lab-34/lab-34-actuator-demo-health/target/classes/application.yaml new file mode 100644 index 00000000..e8be45c2 --- /dev/null +++ b/lab-34/lab-34-actuator-demo-health/target/classes/application.yaml @@ -0,0 +1,23 @@ +management: + endpoint: + # Health 端点配置项,对应 HealthProperties 配置类 + health: + enabled: true # 是否开启。默认为 true 开启。 + show-details: ALWAYS # 何时显示完整的健康信息。默认为 NEVER 都不展示。可选 WHEN_AUTHORIZED 当经过授权的用户;可选 ALWAYS 总是展示。 + status: + http-mapping: # 设置不同健康状态对应的响应状态码 + DOWN: 403 + health: + # DiskSpaceHealthIndicator 配置项,对应 DiskSpaceHealthIndicatorProperties + diskspace: + enabled: true # 是否开启。默认为 true 开启。 + path: . # 目录。默认为 . 当前目录。 + threshold: # 剩余空间的阀值。默认为 10M 。 + endpoints: + # Actuator HTTP 配置项,对应 WebEndpointProperties 配置类 + web: + base-path: /actuator # Actuator 提供的 API 接口的根目录。默认为 /actuator + exposure: + include: '*' # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。 + exclude: # 在 include 的基础上,需要排除的端点。通过设置 * ,可以排除所有端点。 + diff --git a/lab-34/lab-34-actuator-demo/pom.xml b/lab-34/lab-34-actuator-demo/pom.xml new file mode 100644 index 00000000..887ee24a --- /dev/null +++ b/lab-34/lab-34-actuator-demo/pom.xml @@ -0,0 +1,29 @@ + + + + org.springframework.boot + spring-boot-starter-parent + 2.2.2.RELEASE + + + 4.0.0 + + lab-34-acturator-demo + + + + + org.springframework.boot + spring-boot-starter-web + + + + + org.springframework.boot + spring-boot-starter-actuator + + + + diff --git a/lab-34/lab-34-actuator-demo/src/main/java/cn/iocoder/springboot/lab34/actuatordemo/Application.java b/lab-34/lab-34-actuator-demo/src/main/java/cn/iocoder/springboot/lab34/actuatordemo/Application.java new file mode 100644 index 00000000..70532da9 --- /dev/null +++ b/lab-34/lab-34-actuator-demo/src/main/java/cn/iocoder/springboot/lab34/actuatordemo/Application.java @@ -0,0 +1,13 @@ +package cn.iocoder.springboot.lab34.actuatordemo; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class Application { + + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } + +} diff --git a/lab-34/lab-34-actuator-demo/src/main/resources/application.yaml b/lab-34/lab-34-actuator-demo/src/main/resources/application.yaml new file mode 100644 index 00000000..ac603267 --- /dev/null +++ b/lab-34/lab-34-actuator-demo/src/main/resources/application.yaml @@ -0,0 +1,8 @@ +management: + endpoints: + # Actuator HTTP 配置项,对应 WebEndpointProperties 配置类 + web: + base-path: /actuator # Actuator 提供的 API 接口的根目录。默认为 /actuator + exposure: + include: '*' # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。 + exclude: # 在 include 的基础上,需要排除的端点。通过设置 * ,可以排除所有端点。 diff --git a/lab-34/pom.xml b/lab-34/pom.xml new file mode 100644 index 00000000..e8a032eb --- /dev/null +++ b/lab-34/pom.xml @@ -0,0 +1,20 @@ + + + + labs-parent + cn.iocoder.springboot.labs + 1.0-SNAPSHOT + + 4.0.0 + + lab-34 + pom + + lab-34-actuator-demo + lab-34-actuator-demo-health + + + + diff --git a/pom.xml b/pom.xml index ae1767e3..85786572 100644 --- a/pom.xml +++ b/pom.xml @@ -42,6 +42,7 @@ lab-31 lab-32 lab-33 + lab-34