上QQ阅读APP看书,第一时间看更新
3.3 针对Spring Boot 2.x采集并可视化相关数据
Spring Boot 2.x通过Micrometer提供了监控数据,但是这些数据并没有可视化,所以不够友好。如果要可视化,还需要我们执行两个操作:
·Prometheus配置轮询采集Spring Boot 2.x的应用target提供的数据。
·Grafana将Prometheus作为数据源进行可视化大盘展示。
第一项操作可以在Prometheus里的prometheus.yml文件中加上Spring Boot 2.x应用8080端口的Job采集,并重新加载配置文件即可,这样就可以将Spring Boot 2.x的数据采集到Prometheus中。以下是prometheus.yml文件集成后Spring Boot 2.x的配置示例。
scrape_configs: - job_name: 'prometheus' # Prometheus自身配置 static_configs: - targets: ['localhost:9090'] - job_name: 'springboot-demo' # Spring Boot 2.x应用数据采集 metrics_path: '/actuator/prometheus' static_configs: - targets: ['localhost:8080']
如上配置所示,http://localhost:8080/actuator/prometheus页面中Spring Boot 2.x所应用的数据会被采集到Prometheus中。这些信息不但包含Spring Boot通过Micrometer的micrometer-jvm-extras提供的JVM信息,还会包含案例中在Spring Boot代码中通过监控得到的prome-theus.demo.counter和prometheus.demo.gauge数据,这些数据符合#TYPE和#HELP的Prome-theus数据格式规范(详见第7章),数据如下所示。
# HELP prometheus_demo_counter_total demo counter # TYPE prometheus_demo_counter_total counter prometheus_demo_counter_total{application="Demo",name="counter1",} 5731.0 # HELP prometheus_demo_gauge This is Gauge # TYPE prometheus_demo_gauge gauge prometheus_demo_gauge{application="Demo",name="gauge1",} 5731.0