使用prometheus和grafana监控springboot应用

使用prometheus和grafana监控springboot应用

springboot 应用配置

Gradle

//        monitoring
implementation 'org.springframework.boot:spring-boot-starter-actuator:2.3.4.RELEASE'
compile 'io.micrometer:micrometer-registry-prometheus'
compile 'io.micrometer:micrometer-core'

Maven

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

application.yml

#monitoring
management:
  endpoint:
    metrics:
      enabled: true
    #启用prometheus
    prometheus:
      enabled: true
  endpoints:
    web:
      exposure:
      	# '*' 表示所有,也可以指定如:health,info等
        include: '*'
        exclude: env,beans
  metrics:
    export:
      prometheus:
        enabled: true
  #监控中以使用独立的端口
  server:
    port: 8081 

运行检查

查看springboot健康指标

http://localhost:8081/actuator/health

在这里插入图片描述

up正常,down异常

查看prometheus指标

http://localhost:8081/actuator/prometheus

在这里插入图片描述

配置prometheus

prometheus的配置文件
prometheus.yml

scrape_configs:
  # 可随意指定
  - job_name: 'spring-boot'
    # 多久采集一次数据
    scrape_interval: 15s
    # 采集时的超时时间
    scrape_timeout: 10s
    # 采集的路径
    metrics_path: '/actuator/prometheus'
    # 采集服务的地址,设置成Springboot应用所在服务器的具体地址
    static_configs:
      - targets: ['192.168.100.12:8081']

其中192.168.100.12为本机的ip,注意使用docker运行时,ip不要使用localhost,docker的网卡是独立的。

使用docker运行prometheus

docker run -d -p 9090:9090 -v ~/spring-boot-on-kubernetes/docker/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus --config.file=/etc/prometheus/prometheus.yml

-v 参数,挂载本地~/spring-boot-on-kubernetes/docker/prometheus.yml

grafana配置

配置prometheus
在这里插入图片描述

配置模板
下载grafana模板:https://grafana.com/grafana/dashboards/10280
导入
在这里插入图片描述
展示
在这里插入图片描述
** 使用docker安装 **

docker run -d -p 3001:3000 --link vibrant_meninsky:prometheus grafana/grafana

其中vibrant_meninsky为prometheus 的docker名字

配置prometheus时使用

http://prometheus:9090

在这里插入图片描述

参考
https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html#production-ready-enabling

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100336.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • SingleTask启动模式与HOME键问题

    SingleTask启动模式与HOME键问题Android中Activity启动模式SingleTask时点击Home键问题:http://blog.csdn.net/java201159416/article/details/51992249

  • LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx

    LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx

    2021年10月14日
  • c++ 常量表达式_c语言所有函数

    c++ 常量表达式_c语言所有函数constexpr修饰函数。普通函数/类成员函数。1.函数必须要有返回值,并且return返回的表达式必须是常量表达式。错误代码如下:#include<iostream>usingnamespacestd;//error不是常量表达式函数constexprvoidfunc1(){ inta=200; cout<<a<<endl;}//error不是常量表达式函数因为a是变量,不是常量constexprint

  • 符号_王者荣耀2019名字特殊符号大全 最好看的特殊符号复制[通俗易懂]

    符号_王者荣耀2019名字特殊符号大全 最好看的特殊符号复制[通俗易懂][海峡网]大家玩王者荣耀的时候都会取一个特别的名字,如果再加上特殊符号的话,会让人更印象深刻,也比较容易交上朋友,那么2019年哪些特殊符号可以用在游戏中,一起来了解一下吧。【王者荣耀特殊符号推荐2019】1、爱心符号:დღ♡❣❤❥❦❧♥2、音符符号:♩♪♫♬♭♮♯3、文化符号:☠☤☥☦☧☨☩☪☫☬☮☭☯☸☽☾♕♚♛✙✚✛✜…

  • Asp.Net MVC模型验证正则表达式[通俗易懂]

    Asp.Net MVC模型验证正则表达式[通俗易懂][RegularExpression(@”^\+?[1-9][0-9]*$”,ErrorMessage=”排序内容必须为不小于1的正整数”)][Display(Name=”排序”)]publicoverrideNullable<int>OrderNum{get;set;}参考地址mvc模型验证及正则表达式如何在MVC3正则表达式中为NOTNULL或ZERO提供数据注释验证模型验证表达式可叠加[NotNullExpression]//非空[Regula

  • jrtplib使用笔记[通俗易懂]

    一、简述RTP是目前解决流媒体实时传输问题的最好办法,而JRTPLIB是一个用C++语言实现的RTP库,包括UDP通讯。刚使用JRTPLIB,对JRTPLIB的理解还不够深,当做使用时,积累的一些经验写个笔记吧。二、RTP协议实时传送协议(Real-timeTransportProtocol或简写RTP,也可以写成RTTP)是一个网络传输协议,RTP协议详细说明了在互联

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号