prometheus监控
以前,我们使用Prometheus成功启动了Spring Boot应用程序。 Spring应用程序中的一个端点正在公开我们的指标数据,以便Prometheus能够检索它们。想到的主要问题是如何保护此信息。
Spring已经为我们提供了强大的安全框架
因此,将其轻松用于我们的应用程序。 目标是对执行器/普罗米修斯端点使用基本认证,并配置普罗米修斯以便使用基本认证访问该信息。
因此,第一步是在我们的应用程序上启用安全性。 第一步是添加安全罐。
< dependency >
< groupId >org.springframework.boot</ groupId >
< artifactId >spring-boot-starter-security</ artifactId >
</ dependency >
通过为默认用户生成密码,Spring Boot应用程序将自行获得安全保护。但是,我们确实希望控制用户名和密码,因此我们将使用一些环境变量。
通过使用默认用户的凭据运行应用程序,我们可以用最少的配置保护Prometheus端点。
SPRING_SECURITY_USER_NAME= test -user SPRING_SECURITY_USER_PASSWORD= test -password mvn spring-boot:run -user SPRING_SECURITY_USER_PASSWORD= -password mvn spring-boot:run
因此,既然我们在应用程序上安装了安全性设置,那么现在是时候更新我们的prometheus配置了。
scrape_configs:
- job_name: 'prometheus-spring'
scrape_interval: 1m
metrics_path: '/actuator/prometheus'
static_configs:
- targets: [ 'my.local.machine:8080' ]
basic_auth:
username: "test-user"
password: "test-password"
因此,让我们再次如前所述运行普罗米修斯。
在此更改后对应用程序求和,Prometheus将以安全的方式为我们的应用程序收集指标数据。
prometheus监控