【SpringBoot2.x整合Prometheus+Grafana附源码】别裁伪体亲风雅,转益多师是汝师。这篇文章主要讲述SpringBoot2.x整合Prometheus+Grafana附源码相关的知识,希望能为你提供帮助。
图文并茂,新手入门教程,建议收藏
SpringBoot2.x整合Prometheus+Grafana【附源码】
附源码+视频
[toc]
工程简介总体框架图
文章图片
简介 Prometheus
Prometheus,是一个开源的系统监控和告警的工具包,其采用Pull方式采集时间序列的度量数据(也支持push方式),通过Http协议传输。它的工作方式是被监控的服务需要公开一个Prometheus端点,这端点是一个HTTP接口,该接口公开了度量的列表和当前的值,然后Prometheus应用从此接口定时拉取数据,一般可以存放在时序数据库中,然后通过可视化的Dashboard(e.g.Grafana)进行数据展示。
支持的prometheus metrics
Counter,Gauge,Histogram,Summary,untyped等等。需要注意的是counter只能增不能减,适用于服务请求量,用户访问数等统计,但是如果需要统计有增有减的指标需要用Gauge。
exporter
支持的 exporter 很多,可以方便的监控很多应用,同时也可以自定义开发非官方提供的exporter。
grafana
grafana,是一个开源的dashboard展示工具,可以支持很多主流数据源,包括时序性的和非时序性的。其提供的展示配置以及可扩展性能满足绝大部分时间序列数据展示需求,是一个比较优秀的工具。
支持的数据源
prometheus,inflexdb,elasticsearch,mysql,postgreSQL,openTSDB等,更多数据源:< https://grafana.com/grafana/plugins/?type=datasource>
SpringBoot工程初始化springboot加速初始化:https://start.aliyun.com/
文章图片
添加依赖
pom.xml
<
dependency>
<
groupId>
org.springframework.boot<
/groupId>
<
artifactId>
spring-boot-starter-actuator<
/artifactId>
<
/dependency>
<
dependency>
<
groupId>
io.micrometer<
/groupId>
<
artifactId>
micrometer-registry-prometheus<
/artifactId>
<
/dependency>
<
dependency>
<
groupId>
org.springframework.boot<
/groupId>
<
artifactId>
spring-boot-starter-web<
/artifactId>
<
/dependency>
配置信息
在application.yml增加以下配置项
##SpringBoot2.x整合Prometheus+Grafana
##源码:https://github.com/Rodert/SpringBoot-javapub
management:
metrics:
export:
prometheus:
enabled: true
step: 1m
descriptions: true
web:
server:
auto-time-requests: true
endpoints:
prometheus:
id: springmetrics
web:
exposure:
include: health,info,env,prometheus,metrics,httptrace,threaddump,heapdump,springmetrics
server:
port: 8080
启动SpringBoot应用
http://localhost:8080/actuator/prometheus
打开即可看到暴露的信息
文章图片
环境安装如安装包下载不成功,可以在公众号回复【prometheus安装包】or【grafana安装包】领取
Prometheus安装
下载地址:https://prometheus.io/download/
文章图片
修改配置:
prometheus.yml
# my global config
global:
scrape_interval:15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093# Load rules once and periodically evaluate them according to the global evaluation_interval.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"# A scrape configuration containing exactly one endpoint to scrape:
# Here its Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<
job_name>
` to any timeseries scraped from this config.
- job_name: prometheus# metrics_path defaults to /metrics
# scheme defaults to http.
#暴露路径
metrics_path: /actuator/prometheus
static_configs:
#SpringBoot的ip和端口号
- targets: [localhost:8080]
启动Prometheus
prometheus.exe
文章图片
测试访问
< http://localhost:9090>
文章图片
jvm_memory_used_bytes
文章图片
Grafana安装
下载地址:https://mirrors.huaweicloud.com/grafana/
文章图片
启动grafana
文章图片
测试
< http://127.0.0.1:3000/login>
文章图片
默认账号:admin 密码:admin
文章图片
整合增加数据源
文章图片
文章图片
- Name填一个
- URL填的Prometheus访问地址
文章图片
添加图表
文章图片
文章图片
指定数据源、指定监控指标 jvm_memory_used_bytes
文章图片
切换图标
文章图片
文章图片
源码地址:https://github.com/Rodert/spring-boot-prometheus-grafana
视频地址:https://space.bilibili.com/404747369
延伸阅读
- SpringBoot自定义注解
- SpringBoot整合docker入门
- SpringBoot整合ElasticSearch
- SpringBoot快速整合Excel
- SpringBoot整合MyBatis-支持批量更新
- SpringBoot实现链路追踪spring-boot-trace
- SpringBoot2.x整合Prometheus+Grafana【附源码】
- 手把手整合SSM-Spring-Spring MVC-Mybatis
- 通用后台管理系统
推荐阅读
- C语言教程 - 制作单位转换器
- 超大规模数据中心内的数据链路层自动测试案例
- 多线程原理和常用方法以及Thread和Runnable的区别
- 数据库数据恢复磁盘空间不足导致sql server故障的数据恢复案例
- 在游戏开发中运用测试
- windows修改图片默认程序打开方式
- 技术分享| 云服务器的使用-nginx的安装及使用
- SRE,了解一下(35+岁程序员新选择)
- 米尔电子 MYC-Y6ULX-V2核心板如何应用到机械智能控制器中