逻辑关系
效果演示
首先,添加依赖如下依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient_spring_boot</artifactId> <version>0.0.26</version> </dependency>然后,在启动类 Application.java 添加如下注解:
@SpringBootApplication @EnablePrometheusEndpoint @EnableSpringBootMetricsCollector public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }最后,配置默认的登录账号和密码,在 application.yml 中:
security: user: name: user password: pwd提示:不建议配置 management.security.enabled: false
启动应用程序后,会看到如下一系列的 Mappings
Mappings
利用账号密码访问 http://localhost:8080/application/prometheus ,可以看到 Prometheus 格式的指标数据
指标数据
首先,获取 Prometheus 的 Docker 镜像:
$ docker pull prom/prometheus然后,编写配置文件 prometheus.yml :
global: scrape_interval: 10s scrape_timeout: 10s evaluation_interval: 10m scrape_configs: - job_name: spring-boot scrape_interval: 5s scrape_timeout: 5s metrics_path: /application/prometheus scheme: http basic_auth: username: user password: pwd static_configs: - targets: - 127.0.0.1:8080 #此处填写 Spring Boot 应用的 IP 端口号接着,启动 Prometheus :
$ docker run -d \ --name prometheus \ -p 9090:9090 \ -m 500M \ -v "$(pwd)/prometheus.yml":/prometheus.yml \ -v "$(pwd)/data":/data \ prom/prometheus \ -config.file=/prometheus.yml \ -log.level=info最后,访问 http://localhost:9090/targets , 检查 Spring Boot 采集状态是否正常。
采集状态
首先,获取 Grafana 的 Docker 镜像:
$ docker pull grafana/grafana然后,启动 Grafana:
$ docker run --name grafana -d -p 3000:3000 grafana/grafana接着,访问 http://localhost:3000/ 配置 Prometheus 数据源:
Grafana 登录账号 admin 密码 admin
配置 DataSource
最后,配置单个指标的可视化监控面板:
选择 Graph
编辑
配置需要监控的指标
提示,此处不能任意填写,只能填已有的指标点,具体的可以在 Prometheus 的首页看到,即 http://localhost:9090/graph
指标
多配置几个指标之后,即可有如下效果:
Grafana 监控界面
© 著作权归作者所有,转载或内容合作请联系作者
原文链接:
本文由博客一文多发平台 OpenWrite 发布!