1. 程式人生 > >33. Spring Boot 監控和管理生產環境【從零開始學Spring Boot】

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