快速开始
快速开始
在 Springboot init 脚手架生成的项目中,首先修改 maven 项目的配置文件 pom.xml,将
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>${spring.boot.version}</version>
<relativePath/>
</parent>
修改为:
<parent>
<groupId>com.alipay.sofa</groupId>
<artifactId>sofaboot-dependencies</artifactId>
<version>${sofa.boot.version}</version>
</parent>
然后,添加 SOFABoot 健康检查扩展能力的依赖及 Web 依赖(方便查看健康检查结果):
<dependency>
<groupId>com.alipay.sofa</groupId>
<artifactId>healthcheck-sofa-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
最后,在工程的 application.properties 文件下添加 SOFABoot 工程常用的参数配置,其中 spring.application.name 是必需的参数,用于标示当前应用的名称;logging path 用于指定日志的输出目录。
# Application Name
spring.application.name=SOFABoot Demo
# logging path
logging.path=./logs
直接运行我们的启动类 main 方法,日志如下:
,---. ,-----. ,------. ,---. ,-----. ,--.
' .-' ' .-. ' | .---' / O \ | |) /_ ,---. ,---. ,-' '-.
`. `-. | | | | | `--, | .-. | | .-. \ | .-. | | .-. | '-. .-'
.-' | ' '-' ' | |` | | | | | '--' / ' '-' ' ' '-' ' | |
`-----' `-----' `--' `--' `--' `------' `---' `---' `--'
Spring Boot Version: 2.1.13.RELEASE (v2.1.13.RELEASE)
SOFABoot Version: 3.4.6 (v3.4.6)
Powered By Ant Group
...
2021-01-05 09:57:50.623 INFO 12720 --- [2)-172.17.160.1] o.s.web.servlet.DispatcherServlet : Completed initialization in 7 ms
检查
直接浏览器访问 http://localhost:8080/actuator/versions 来查看当前 SOFABoot 中使用 Maven 插件生成的版本信息汇总。我们选取一个,如下:
{
"GroupId": "com.alipay.sofa",
"Doc-Url": "http://www.sofastack.tech/sofa-boot/docs/Home",
"ArtifactId": "healthcheck-sofa-boot-starter",
"Commit-Time": "2020-11-18T13:07:33+0800",
"Commit-Id": "0e6f10b9f5f1c4c8070814691b8ef9cbff8a550d",
"Version": "3.4.6",
"Build-Time": "2020-11-23T13:49:02+0800"
}
可以通过在浏览器中输入 http://localhost:8080/actuator/readiness 查看应用 Readiness Check 的状况
{
"status": "UP",
"details": {
"SOFABootReadinessHealthCheckInfo": {
"status": "UP",
"details": {
"HealthChecker": { "sofaComponentHealthChecker": { "status": "UP" } }
}
},
"diskSpace": {
"status": "UP",
"details": {
"total": 127083565056,
"free": 69193203712,
"threshold": 10485760
}
}
}
}
SOFABoot 也提供了日志的物理隔离:
./logs
├── health-check
│ ├── sofaboot-common-default.log
│ └── sofaboot-common-error.log
├── infra
│ ├── common-default.log
│ └── common-error.log
└── spring.log