软件系统定制开发Spring Boot Admin 监控指标接入Grafana可视化

软件系统定制开发其他相关文章:

相关文章,请关注:

Spring Boot Admin2 软件系统定制开发自带有部分监控图表,如图,有线程、内存Heap和内存Non Heap,软件系统定制开发但也就只有这几个监控图表,数量很少,软件系统定制开发并且它只能看到当时的监控数据,软件系统定制开发并不能查看历史数据,为了改变这种情况,我们需要将指标进行持久化,并使用更强大的可视化工具,这个工具就是Grafana。


在前面我们知道SBA2具备的监控指标还是挺多的,访问/actuator 即可知道,如下图

现在在这篇文章,我们要做的就是将这些指标进行持久化,并在Grafana展示更多的图标,让我们开始。

首先我们需要再Spring Boot中集成持久化数据库,我这里使用了,也可以使用InfluxDB。

引入Maven依赖

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-actuator</artifactId></dependency><!--桥接prometheus--><dependency>    <groupId>io.micrometer</groupId>    <artifactId>micrometer-registry-prometheus</artifactId></dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

application.properties 配置

由于之前我们已经接入过SBA2,所以我们已经配置过需要暴露的端点,无需再次配置。

management.endpoints.web.exposure.include=*management.endpoint.health.show-details=always
  • 1
  • 2

生产环境,需要配置Spring Security,我这里并未配置。

接入Prometheus

安装prometheus,为了能够快速体验,这边使用Docker安装,并将本地配置文件映射到Docker中

docker run -p 9090:9090 -v D:\sdk\prometheus\prometheus.yml:/etc/prometheus/prometheus.yml -v D:\sdk\prometheus\alert_rules.yml:/etc/prometheus/alert_rules.yml   prom/prometheus
  • 1

alert_rules.yml 是 Prometheus 告警规则的配置,这个后面其他文章再讲

配置prometheus.yml

scrape_configs:  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.  - job_name: 'prometheus'    # Override the global default and scrape targets from this job every 5 seconds.    scrape_interval: 5s    static_configs:      - targets: ['localhost:9090']  #- job_name: 'prometheus-demo'  #  scrape_interval: 5s  #  static_configs:  #    - targets: ['192.168.0.115:8088']  - job_name: 'provider'    metrics_path: '/actuator/prometheus'    scrape_interval: 5s    static_configs:      - targets: ['192.168.0.115:8000']    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

metrics_path:指标地址,原有的Spring Boot 指标将自动转换为prometheus指标
scrape_interval:指标拉取间隔,这里配置5s
192.168.0.115:8000: 为本地服务的地址+端口

配置完毕,重启Prometheus,访问地址,可见两个服务都已经是UP状态


访问http://192.168.0.115:8000/actuator/prometheus地址,就是我们刚配置的服务指标

接入Grafana

同样的,为了快速体验,我们使用Docker来安装Grafana

docker run -p 3000:3000 grafana/grafana

安装完毕,访问http://localhost:3000 进入主界面,默认账号密码:admin/admin

接入第一步,配置数据源

选择Prometheus,URL选择Prometheus端口地址,我这边已经将端口暴露出来,其他默认

设置完毕,下一步创建一个大屏,这里以创建JVM监控大屏为例。
由于Grafana会提供一些大屏指标模板,我们只需要导入即可,或者进行适当的修改,https://grafana.com/grafana/dashboards


搜索结果第一个即为我们需要的模板,进入详情页,copy模板ID,到Grafana进行导入

选择刚配置的Prometheus数据源,设置名称和文件夹,导入后即可生成JVM大屏

最终的JVM大屏效果如图,这里截图头部部分指标

包含的所有指标

每个指标的具体含义,可以自行去了解,本篇文章我们以JVM为例,将Spring Boot2 的JVM 指标接入到Grafana进行可视化,在前面我们通过端点实际暴露是有很多端点的,后面将介绍如何自定义大屏接入上述指标。

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发