1 Star 4 Fork 0

JavaPub/spring-boot-prometheus-grafana

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

图文并茂,新手入门教程,建议收藏

SpringBoot2.x整合Prometheus+Grafana【附源码+视频】

附源码+视频

GitHub | Gitee

文档:

[toc]

工程简介

总体框架图

image

简介

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/

image

添加依赖

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

打开即可看到暴露的信息

image

环境安装

如安装包下载不成功,可以在公众号回复【prometheus安装包】or【grafana安装包】领取

Prometheus安装

下载地址:https://prometheus.io/download/

image

修改配置

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 it's 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

image

测试访问

http://localhost:9090

image

jvm_memory_used_bytes

image

Grafana安装

下载地址:https://mirrors.huaweicloud.com/grafana/

image

启动grafana

image

测试

http://127.0.0.1:3000/login

image

默认账号:admin 密码:admin

image

整合

增加数据源

image

image

  • Name填一个
  • URL填的Prometheus访问地址

image

添加图表

image

image

指定数据源、指定监控指标 jvm_memory_used_bytes

image

切换图标

image

image


源码地址:https://github.com/Rodert/spring-boot-prometheus-grafana

视频地址:https://space.bilibili.com/404747369

延伸阅读

  1. SpringBoot自定义注解
  2. SpringBoot整合docker入门
  3. SpringBoot整合ElasticSearch
  4. SpringBoot快速整合Excel
  5. SpringBoot整合MyBatis-支持批量更新
  6. SpringBoot实现链路追踪spring-boot-trace
  7. SpringBoot2.x整合Prometheus+Grafana【附源码】

中级篇

  1. 手把手整合SSM-Spring-Spring MVC-Mybatis

实战篇

  1. 通用后台管理系统

将支持:Activiti + Flowable 工作流; 第三方登录; 支付; 短信; 支持 RBAC 动态权限、数据权限;监接;商城。SpringBoot Spring Security JWT MyBatis Druid Vue Vuex Element-ui Axios Sass Quill docker-compose、Kafka

推荐阅读(附源码-附安装视频)

无套路,免费领取

中国象棋:下载地址1 | 下载地址2

植物大战僵尸:下载地址1 | 下载地址2

俄罗斯方块:下载地址1 | 下载地址2

超级马里奥:下载地址1 | 下载地址2

吃豆人游戏:下载地址1 | 下载地址2

打地鼠:下载地址1 | 下载地址2

捕鱼达人:下载地址1 | 下载地址2

打飞机:下载地址1 | 下载地址2

坦克大战:下载地址1 | 下载地址2

1024:下载地址1 | 下载地址2

贪吃蛇:下载地址1 | 下载地址2

3D赛车:下载地址1 | 下载地址2

汇总地址:下载地址1 | 下载地址2

MIT License Copyright (c) 2022 rodert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

springboot2.x整合prometheus+grafana【附源码+视频+文档】 展开 收起
Java
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/rodert/spring-boot-prometheus-grafana.git
git@gitee.com:rodert/spring-boot-prometheus-grafana.git
rodert
spring-boot-prometheus-grafana
spring-boot-prometheus-grafana
main

搜索帮助

Cb406eda 1850385 E526c682 1850385