zoukankan      html  css  js  c++  java
  • SpringBoot项目使用Prometheus实时监控系统各项指标

    环境:springboot2.3.11 + prometheus1.6.7 + grafana7.5.7


    什么是Prometheus

    Prometheus 是一个开源的服务监控系统和时间序列数据库。

    SpringBoot项目使用Prometheus实时监控系统各项指标

     

    prometheus存储的是时序数据,即按相同时序(相同名称和标签),以时间维度存储连续的数据的集合。

    时序(time series)是由名字(Metric)以及一组key/value标签定义的,具有相同的名字以及标签属于相同时序。

    配置依赖

    <dependencies>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
      </dependency>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
      <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-registry-prometheus</artifactId>
      </dependency>
    </dependencies>

    配置文件

    spring:
      application:
        name: app-prometheus
    ---
    management:
      server:
        port: 9999
      endpoints:
        enabled-by-default: true
        web:
          exposure:
            include: '*'

    注册MeterRegistry

    @Bean
    public MeterRegistryCustomizer<MeterRegistry> configurer(@Value("${spring.application.name}") String name) {
      return (registry) -> registry.config().commonTags("application", name);
    }

    访问Prometheus actuator

    SpringBoot项目使用Prometheus实时监控系统各项指标

     

    Springboot与Prometheus的整合完成。

    Prometheus配置安装

    Prometheus下载

    SpringBoot项目使用Prometheus实时监控系统各项指标

     

    通过如上地址下载自己需要的版本。

    配置Prometheus

    scrape_configs:
      - job_name: 'app-prometheus'
        scrape_interval: 5s
        metrics_path: '/actuator/prometheus'
        static_configs:
        - targets: ['localhost:9999']

    localhost:9999为项目的Actuator访问地址。

    启动Prometheus

    SpringBoot项目使用Prometheus实时监控系统各项指标

     

    访问

    SpringBoot项目使用Prometheus实时监控系统各项指标

     

    查看监控的应用

    SpringBoot项目使用Prometheus实时监控系统各项指标

     

    SpringBoot项目使用Prometheus实时监控系统各项指标

     

    自定义meter

    @Resource
    private MeterRegistry registry ;
    private Counter counter ;
    	
    @PostConstruct
    public void init() {
      counter = this.registry.counter("vistor") ;
    }
    
    @GetMapping("/count")
    public String count() {
      this.counter.increment() ; 
      return "访问次数:" + this.counter.count() ;
    }

    先多访问几次该接口,通过Prometheus查看

    SpringBoot项目使用Prometheus实时监控系统各项指标

     

    Grafana安装配置

    下载

    SpringBoot项目使用Prometheus实时监控系统各项指标

     

    通过上面的地址下载grafana

    启动服务

    SpringBoot项目使用Prometheus实时监控系统各项指标

     

    默认用户名密码:admin/admin

    SpringBoot项目使用Prometheus实时监控系统各项指标

     

    添加Prometheus数据源

    SpringBoot项目使用Prometheus实时监控系统各项指标

     

    查看数据

    SpringBoot项目使用Prometheus实时监控系统各项指标

     

    SpringBoot项目使用Prometheus实时监控系统各项指标

     

    这里展示了visitor中的统计信息

    监控数据库连接池

    SpringBoot项目使用Prometheus实时监控系统各项指标

     

    先在grafana上搜索

    SpringBoot项目使用Prometheus实时监控系统各项指标

     

    通过id导入

    SpringBoot项目使用Prometheus实时监控系统各项指标

     

    SpringBoot项目使用Prometheus实时监控系统各项指标

     

    SpringBoot项目使用Prometheus实时监控系统各项指标

     

    项目中配置hikari数据库连接池,grafana自动会展示数据库连接信息

    SpringBoot项目使用Prometheus实时监控系统各项指标

     

    完毕!!!

    给个关注+转发呗谢谢

    公众:Springboot实战案例锦集

     
    标签: springaopspringboot
    好文要顶 关注我 收藏该文  
    0
    0
     
     
     
    « 上一篇: Springboot整合百度开源分布式ID生成器UIDGenerator
    posted @ 2021-07-10 07:42  FastCoder  阅读(4)  评论(0)  编辑  收藏  举报

     

     
  • 相关阅读:
    [BinaryTree] AVL树、红黑树、B/B+树和Trie树的比较
    [C/C++] 堆和栈的区别
    HBuilde H5开发,关于JSON的Storage存储
    你是怎么调试 JavaScript 程序
    plus.webview.create mui.openWindow区别是什么呢
    H5本地存储详细使用教程(localStorage + JSON数据存储应用框架)
    [工具教程] HBuilder调试夜神安卓模拟器方法(该方法真实有效)
    HBuilder使用夜神模拟器调试Android应用
    Android如何使用API
    Linux下安装方法总结(源码安装)
  • 原文地址:https://www.cnblogs.com/yydxxg/p/14995554.html
Copyright © 2011-2022 走看看