栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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依赖

        
            io.micrometer
            micrometer-registry-prometheus
            1.6.4
        

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 ~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/821332.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号