Prometheus官网:https://prometheus.io/docs/introduction/first_steps/
Grafana官网:https://grafana.com/docs/grafana/latest/
SpringBoot+Prometheus+Grafana是目前比较常用的应用监控方案,由Springboot项目暴露指标,Prometheus进行信息采集,Grafana实现可视化监控与报警。
一、Prometheus安装安装包下载地址:https://prometheus.io/download/
下载windows64位,解压可用,解压后进入目录运行premetheus.exe,访问http://localhost:9090/即可,需要查看监控的对象列表可以进入status > targets查看
1.Springboot项目添加prometheus的Maven依赖
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<version>1.6.4</version>
</dependency>
2.Springboot项目 yml 配置文件设置
spring:
application:
name: cloud-reservoirs
management:
endpoints:
web:
exposure:
include: "*" # 指定所有的web接口都会上报
metrics:
tags:
application: ${spring.application.name} # 这个应用所有上报的metrics 都会带上 application这个标签
3.编辑 Prometheus 的 prometheus.yml 文件
进入Prometheus的解压目录编辑prometheus.yml文件,添加如下配置
- job_name: 'cloud-reservoirs'
scrape_interval: 5s # 抓取频率
metrics_path: '/actuator/prometheus' # 抓取的端点
static_configs:
- targets: ['localhost:10024'] # 目标机器
4.重新启动premetheus.exe
重新启动premetheus.exe,查看http://localhost:9090 status > targets
访问 http://localhost:10024/actuator/prometheus 可以查看各项指标
5.访问Graph
访问Graph,在搜索框输入:
http_server_requests_seconds_count,然后点击Execute,可以看到抓起metric的记录
接着访问我们项目的任一接口,再次查看Graph,可以看到新增了一条记录
6.qps统计
sum(rate(http_server_requests_seconds_count{application="cloud-reservoirs"}[10s]))
rate: 用于统计增长趋势,要求上报的Metric为Counter类型(只增不减)
irate: 与rate相似,区别在于rate统计的是一段时间内的平均增长速率,无法反应这个时间窗口内的突发情况(即瞬时高峰),irate通过区间向量中最后两个样本数据来计算增长速率,但是当选用的区间范围较大时,可能造成不小的偏差
sum: 求和,适用于统计场景
更多内置函数,可以参考: PromQL内置函数 或参考官网
https://prometheus.io/docs/prometheus/latest/querying/operators/
7.耗时统计
除了qps,另外一个经常关注的指标就是rt了,如上面接口的平均rt,通过两个Metric的组合来实现
sum(rate(http_server_requests_seconds_sum{application="cloud-reservoirs"}[10s])) / sum(rate(http_server_requests_seconds_count{application="cloud-reservoirs"}[10s]))
将sum聚合去掉则可以看到各接口的访问情况
1.Grafana安装
安装包下载地址:https://grafana.com/grafana/download?platform=windows
windows 64位下载grafana-enterprise-8.4.7.windows-amd64.msi,直接运行安装,安装完成后进入grafana/bin目录下,双击运行garafana-server.exe,访问地址http://localhost:3000/,默认用户名密码admin/admin
2.Grafana使用
(1)grafana启动之后,配置数据源Promethues
点击首界面的 DATA SOURCES
接着选择 Prometheus
然后输入 Prometheus 服务器地址,点击Save & test
(2)给SpringBoot应用配置面板
可以直接使用现成的模板,比如 12856,这需要到官网去查找:
https://grafana.com/grafana/dashboards?dataSource=prometheus&search=spring
选择一个,点进去之后,右边的 Copy ID toClipboard 对应的数字就是我们需要的
拿到ID后,回到Grafana界面,找到如下Import项
输入ID,点击输入框右边的 Load
选择我们前边配置的数据源,点击 Import
配置后面板如下
over ~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)