33. Spring Boot 監控和管理生產環境【從零開始學Spring Boot】
【視訊&交流平臺】
http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=400000000155061&utm_medium=share
http://study.163.com/course/introduction.htm?courseId=1004638001&utm_campaign=commission&utm_source=400000000155061&utm_medium=share
https://gitee.com/happyangellxq520/spring-boot
http://412887952-qq-com.iteye.com/blog/2321532
【本文章是否對你有用以及是否有好的建議,請留言】
spring-boot-actuator模組提供了一個監控和管理生產環境的模組,可以使用http、jmx、ssh、telnet等拉管理和監控應用。審計(Auditing)、
健康(health)、資料採集(metrics gathering)會自動加入到應用裡面。
首先,寫一個最基本的spring boot專案。
基於Maven的專案新增‘starter’依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
以下是所有監控描述:
HTTP方法 |
路徑 |
描述 |
鑑權 |
GET |
/autoconfig |
檢視自動配置的使用情況,該報告展示所有auto-configuration候選者及它們被應用或未被應用的原因 |
true |
GET |
/configprops |
顯示一個所有@ConfigurationProperties的整理列表 |
true |
GET |
/beans |
顯示一個應用中所有Spring Beans |
true |
GET |
/dump |
列印執行緒棧 |
true |
GET |
/env |
檢視所有環境變數 |
true |
GET |
/env/{name} |
檢視具體變數值 |
true |
GET |
/health |
檢視應用健康指標 |
false |
GET |
/info |
檢視應用資訊 |
false |
GET |
/mappings |
檢視所有url對映 |
true |
GET |
/metrics |
檢視應用基本指標 |
true |
GET |
/metrics/{name} |
檢視具體指標 |
true |
POST |
/shutdown |
允許應用以優雅的方式關閉(預設情況下不啟用) |
true |
GET |
/trace |
檢視基本追蹤資訊 |
true |
health
{
status: "UP",
diskSpace: {
status: "UP",
total: 107374174208,
free: 14877962240,
threshold: 10485760
}
}
可以檢查的其他一些情況的健康資訊。下面的HealthIndicators會被Spring Boot自動配置:
DiskSpaceHealthIndicator 低磁碟空間檢測
DataSourceHealthIndicator 檢查是否能從DataSource獲取連線
MongoHealthIndicator 檢查一個Mongo資料庫是否可用(up)
RabbitHealthIndicator 檢查一個Rabbit伺服器是否可用(up)
RedisHealthIndicator 檢查一個Redis伺服器是否可用(up)
SolrHealthIndicator 檢查一個Solr伺服器是否可用(up)
自定義當然也可以,你可以註冊實現了HealthIndicator介面的Spring beans,Health響應需要包含一個status和可選的用於展示的詳情。
import org.springframework.boot.actuate.health.HealthIndicator;
import org.springframework.stereotype.Component;
@Component
public class MyHealth implements HealthIndicator {
@Override
public Health health() {
int errorCode = check(); // perform some specific health check
if (errorCode != 0) {
return Health.down().withDetail("Error Code", errorCode).build();
}
return Health.up().build();
}
}
trace
info
的時候,結果什麼沒有
但是,在application.properties加入一些配置
info.app.name=ecs
info.app.version=1.0.0
[email protected]@
[email protected]@
執行/info 就可以看到有些資訊了。
/info 是用來在構建的時候,自動擴充套件屬性的。對於Maven專案,可以通過 @[email protected] 佔位符引用Maven的’project properties’。
更多的細節和探索,需要自己看看原始碼和spring boot的官方文件。
【Spring Boot 系列視訊】
視訊&交流平臺:
http://study.163.com/course/introduction.htm?courseId=1004329008
http://412887952-qq-com.iteye.com/blog/2321532
網易雲課堂視訊最新更新:
第十一章 Spring Boot 日誌
1、spring boot日誌—理論
2、Spring Boot日誌-logback
3、Spring Boot日誌-log4j2
第十二章 Spring Boot 知識點2
1、spring boot 服務配置和部署
2、Spring Boot 定製URL匹配規則
歷史章節:
第一章 快速開始
1、Spring Boot之Hello World
2、Spring Boot之Hello World訪問404
第二章 Spring Boot之JSON
1、spring boot返回json資料
2、Spring Boot完美使用FastJson解析JSON資料
第三章 Spring Boot熱部署
1、Spring Boot熱部署(springloader)
2、springboot + devtools(熱部署)
第四章 Spring Boot資料庫
1、Spring Boot JPA/Hibernate/Spring Data概念
2、Spring Boot JPA-Hibernate
3、Spring Boot Spring Data JPA介紹
4、Spring Boot JdbcTemplate
5、Spring Boot整合MyBatis
第五章 web開發
1、全域性異常捕捉
2、配置server資訊
3、spring boot使用thymeleaf
4、Spring Boot 使用freemarker
5、Spring Boot新增JSP支援
第六章 定時任務
1、Spring Boot定時任務
2、Spring Boot 定時任務升級篇(動態修改cron引數)
3、Spring Boot 定時任務升級篇(動態新增修改刪除定時任務)
4、Spring Boot 定時任務升級篇(叢集/分散式下的定時任務說明)
5、Spring Boot Quartz介紹
6、Spring Boot Quartz在Java Project中使用
7、Spring Boot 整合Quartz普通使用
8、Spring Boot 整合Quartz升級版
9、Spring Boot 整合Quartz二次升級版
10、Spring Boot 整合Quartz-Job如何自動注入Spring容器託管的物件
第七章 Spring Boot MyBatis升級篇
1、Spring Boot MyBatis升級篇-註解
2、Spring Boot MyBatis升級篇-註解-自增ID
3、Spring Boot MyBatis升級篇-註解-增刪改查
4、Spring Boot MyBatis升級篇-註解-分頁查詢
5、Spring Boot MyBatis升級篇-註解-分頁PageHelper不生效
6、Spring Boot MyBatis升級篇-註解- mybatic insert異常:BindingException: Parameter 'name' not found
7、Spring Boot MyBatis升級篇-註解- #和$符號特別篇
8、Spring Boot MyBatis升級篇-註解[email protected]
9、Spring Boot MyBatis升級篇-註解-動態SQL(if test)-方案一:<script>
10、Spring Boot MyBatis升級篇-註解-動態SQL(if test)-方案二:@Provider
11、Spring Boot MyBatis升級篇-註解-動態SQL-引數問題
12、Spring Boot MyBatis升級篇-註解-特別篇:@MapperScan和@Mapper
13、Spring Boot MyBatis升級篇-XML
14、Spring Boot MyBatis升級篇-XML-自增ID
15、Spring Boot MyBatis升級篇-XML-增刪改查
16、Spring Boot MyBatis升級篇-XML-分頁查詢
17、Spring Boot MyBatis升級篇-XML-分頁PageHelper不生效
18、Spring Boot MyBatis升級篇-XML-動態SQL(if test)
19、Spring Boot MyBatis升級篇-XML-註解-初嘗試
20、Spring Boot MyBatis升級篇- pagehelper替換為pagehelper-spring-boot-starter
第八章 Spring Boot 知識點1
1、Spring Boot 攔截器HandlerInterceptor
2、Spring Boot啟動載入資料CommandLineRunner
3、Spring Boot環境變數讀取和屬性物件的繫結
4、Spring Boot使用自定義的properties
5、Spring Boot使用自定義的properties
6、Spring Boot使用@SpringBootApplication
7、Spring Boot 監控和管理生產環境
第十章 Spring Boot 打包部署
1、Spring Boot打包部署((提供Linux的sh檔案))
第十一章 Spring Boot 日誌
1、spring boot日誌—理論
2、Spring Boot日誌-logback
3、Spring Boot日誌-log4j2