springboot+prometheus+grafana实现应用监控和报警 - windows版

springboot+prometheus+grafana实现应用监控和报警 - windows版,第1张

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查看

二、Springboot使用Prometheus

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聚合去掉则可以看到各接口的访问情况

三、Grafana安装与使用

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 ~

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/719966.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存