给java应用加上prometheus,解决/health访问报错Unauthorized
pom.xml添加依赖:
org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-actuator-autoconfigure io.micrometer micrometer-registry-prometheus
配置文件application.yaml添加管理端点:
management: server: port: 9090 endpoints: web: exposure: include: health,info,env,metrics,prometheus base-path: / health: mail: enabled: false db: enabled: false ldap: enabled: false elasticsearch: enabled: false redis: enabled: false endpoint: health.show-details: always shutdown: enabled: true security: enabled: false
项目启动类添加注解:
@EnableAutoConfiguration(
exclude = {
org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration.class,
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class,
org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration.class
})当springboot2.0集成activiti7时,activiti使用了身份认证,集成后直接访问报错如下:
{
"timestamp": "2019-12-13T02:54:05.254+0000",
"status": 401,
"error": "Unauthorized",
"message": "Unauthorized",
"path": "/"
}解决办法:
启动类添加(排除认证的自动装配):
@SpringBootApplication(exclude ={SecurityAutoConfiguration.class,
ManagementWebSecurityAutoConfiguration.class})验证:
登录k8s pod,执行
curl http://localhost:9090/actuator/health curl http://localhost:9090/actuator/prometheus