目录
依赖引入
<!-- 通过actutator进行暴露 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- 用于对Prometheus添加认证(非必需) -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<!-- springboot指标点 -->
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient_spring_boot</artifactId>
<version>0.11.0</version>
</dependency>
<!-- jvm指标点 -->
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient_hotspot</artifactId>
<version>0.11.0</version>
</dependency>
配置文件配置
# 访问Prometheus采集数据的路径前缀
management.context-path=/actuator
# 访问Prometheus的端口,不配置则使用server.port
management.port=8089
# 针对/actuator下路径进行认证(非必需)
# 若不需要认证配置 management.security.enabled=false
security.basic.path=/actuator
security.user.name=admin
security.user.password=123456
配置类
@Configuration
@EnablePrometheusEndpoint
@EnableSpringBootMetricsCollector
public class MonitoringConfig {
@PostConstruct
public void initHotspotEndpoint() {
//打开prometheus JVM所有监控参数
DefaultExports.initialize();
}
}
运行
启动后会发现,日志答应会多一些以/actuator开头的映射,这些都是actutor暴露出来的监控地址
如果里面找到了/promethus,则代表集成成功了。
按照刚才的配置,则访问:
http://localhost:8089/application/actuator/prometheus
因为配置了认证,所以继续输入用户名密码,通过后可以看到promethues采集的各个指标点极其值。
使用Promethues官方管理平台查看指标数据
下载地址:https://prometheus.io/download/
以windows为例子,下载prometheus-2.28.1.windows-amd64.zip,解压后配置prometheus.yml文件。在scrape_configs下添加
# 监控任务名称
- job_name: 'springboot'
# 协议
scheme: http
# 访问promethues指标点的路径
metrics_path: /application/actuator/prometheus
# 认证信息(非必需)
basic_auth:
username: admin
password: qz-admin
static_configs:
# 访问域名或ip+port
- targets: ['localhost:8089']
保存后,使用命令行运行prometheus.exe,访问http://localhost:9090/targets可查看是否连通,可以看到Prometheus对自身也进行了监控。
点击Graph,还能以图形化方式查看监控数据。
使用Grafana进行可视化监控
由于Prometheus官方的图形化展示有点简陋,所以还能使用Grafana进行监控
下载地址:https://grafana.com/grafana/download
下载压缩包解压后,使用命令行运行在bin目录中的grafana-server.exe(需运行prometheus.exe提供数据源)
访问 http://localhost:3000/,用户名密码为admin/admin,登录后点击Configuration(齿轮图标)→Data source→add data source→Prometheus进行数据源配置
测试联通后,就可以去添加Dashboard,写PromeQL,展示你想展示的数据