From c5fd04ba67506ad0bd46e7b0f453ff697a741fad Mon Sep 17 00:00:00 2001
From: YunaiV <>
Date: Fri, 20 Dec 2019 22:49:42 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20actuate=20=E7=A4=BA?=
=?UTF-8?q?=E4=BE=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 10 +++---
...04-rabbitmq-demo-concurrency.kotlin_module | Bin 16 -> 0 bytes
...04-rabbitmq-demo-concurrency.kotlin_module | Bin 16 -> 0 bytes
lab-34/lab-34-actuator-demo-health/pom.xml | 29 ++++++++++++++++++
.../lab34/actuatordemo/Application.java | 13 ++++++++
.../actuate/DemoHealthIndicator.java | 29 ++++++++++++++++++
.../src/main/resources/application.yaml | 23 ++++++++++++++
.../target/classes/application.yaml | 23 ++++++++++++++
lab-34/lab-34-actuator-demo/pom.xml | 29 ++++++++++++++++++
.../lab34/actuatordemo/Application.java | 13 ++++++++
.../src/main/resources/application.yaml | 8 +++++
lab-34/pom.xml | 20 ++++++++++++
pom.xml | 1 +
13 files changed, 193 insertions(+), 5 deletions(-)
delete mode 100644 lab-04/lab-04-rabbitmq-demo-orderly/target/classes/META-INF/lab-04-rabbitmq-demo-concurrency.kotlin_module
delete mode 100644 lab-04/lab-04-rabbitmq-demo-orderly/target/test-classes/META-INF/lab-04-rabbitmq-demo-concurrency.kotlin_module
create mode 100644 lab-34/lab-34-actuator-demo-health/pom.xml
create mode 100644 lab-34/lab-34-actuator-demo-health/src/main/java/cn/iocoder/springboot/lab34/actuatordemo/Application.java
create mode 100644 lab-34/lab-34-actuator-demo-health/src/main/java/cn/iocoder/springboot/lab34/actuatordemo/actuate/DemoHealthIndicator.java
create mode 100644 lab-34/lab-34-actuator-demo-health/src/main/resources/application.yaml
create mode 100644 lab-34/lab-34-actuator-demo-health/target/classes/application.yaml
create mode 100644 lab-34/lab-34-actuator-demo/pom.xml
create mode 100644 lab-34/lab-34-actuator-demo/src/main/java/cn/iocoder/springboot/lab34/actuatordemo/Application.java
create mode 100644 lab-34/lab-34-actuator-demo/src/main/resources/application.yaml
create mode 100644 lab-34/pom.xml
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 2983af70661ad375cc499ebc4da5a68ca46c532e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 16
RcmZQzU|?ooU|@t|egFVe02KfL
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 2983af70661ad375cc499ebc4da5a68ca46c532e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 16
RcmZQzU|?ooU|@t|egFVe02KfL
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