1 Star 4 Fork 0

JavaPub / spring-boot-prometheus-grafana

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
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.

About

springboot2.x整合prometheus+grafana【附源码+视频+文档】 expand collapse
Java
MIT
Cancel

Releases

No release

Contributors

All

Activities

Load More
can not load any more
马建仓 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

Search

344bd9b3 5694891 D2dac590 5694891