SpringBoot2.x整合Prometheus+Grafana【附源码+视频】
  5YI10LEk8YTp 2023年11月28日 25 0

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


GitHub | Gitee

  • 简介
  • Prometheus
  • grafana
  • SpringBoot工程初始化
  • 环境安装
  • Prometheus安装

  • Grafana安装

  • 整合

  • 中级篇

  • 实战篇


工程简介

总体框架图

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

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/

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

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

打开即可看到暴露的信息

SpringBoot2.x整合Prometheus+Grafana【附源码+视频】_数据源_03

image

环境安装

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

Prometheus安装

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

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

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

SpringBoot2.x整合Prometheus+Grafana【附源码+视频】_数据源_05

image

测试访问

http://localhost:9090

SpringBoot2.x整合Prometheus+Grafana【附源码+视频】_数据源_06

image

jvm_memory_used_bytes

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

image

Grafana安装

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

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

image

启动grafana

SpringBoot2.x整合Prometheus+Grafana【附源码+视频】_数据源_09

image

测试

http://127.0.0.1:3000/login

SpringBoot2.x整合Prometheus+Grafana【附源码+视频】_数据源_10

image

默认账号:admin 密码:admin

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

image

整合

增加数据源

SpringBoot2.x整合Prometheus+Grafana【附源码+视频】_数据源_12

image

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

image

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

SpringBoot2.x整合Prometheus+Grafana【附源码+视频】_数据源_14

image

添加图表

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

image

SpringBoot2.x整合Prometheus+Grafana【附源码+视频】_数据源_16

image

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

SpringBoot2.x整合Prometheus+Grafana【附源码+视频】_数据源_17

image

切换图标

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

image

SpringBoot2.x整合Prometheus+Grafana【附源码+视频】_数据源_19

image


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

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


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月28日 0

暂无评论

推荐阅读
5YI10LEk8YTp