使用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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 我的LaTeX入门

    我的LaTeX入门第一次打美赛就用了latex,比赛前刷了各种博客,学习了1天就上场。美赛期间全程扮演不同角色,就是打杂的,大家都是第一次参加,都很累,不过我是最累的,两天两夜没睡。建模,编程,latex写论文全程参与。用latex写论文真的是太爽了,闲着也是闲着,不如把latex好好学习下,方便以后建模比赛提高速度。总结下其他博主的笔记LaTeX概览摘自维基百科:LaTeX,是一种基于TEX的排版系统,由美国电…

    2022年6月8日
    36
  • @ResponseBody的作用

    @ResponseBody的作用

    2021年7月19日
    95
  • ubuntu clion 激活码【在线注册码/序列号/破解码】

    ubuntu clion 激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    35
  • 详解java人力外包的费用组成

    详解java人力外包的费用组成根据IDC的统计数字,在所有软件开发类人才的需求中,对java工程师的需求达到全部需求量的60%~70%,也就是说,很多企业的信息化建设都离不开java开发人员。但面对成本费用、灵活用工、编制限制、劳务纠纷等问题,包括BAT在内的很多大型知名企业都会与软件人力外包公司合作来引进java人才。那么什么是java人力外包?java人力外包指的是由用人企业向软件人力外包公司提出java方面的用人需求,包括人数、技能要求、到岗时间、项目周期、预算等,软件人力外包公司通过外派的方式将符合要求的java人才提供给

    2022年5月19日
    104
  • asp.net dropdownlist的值怎么设置_ASPNET程序开发招聘

    asp.net dropdownlist的值怎么设置_ASPNET程序开发招聘我刚刚开始学习ASP.NET,所以当然有点辛苦,懂的不是很多…今天写程序时碰到了控件DrowDownList.–列表控件….当我改变控件的值时,怎么也不能改变另一个DropDownList控件的值,查了MSDN之后才知道--原来我的AutoPostBack属性没有设置成”true”所以不能刷新,但是当我改完之后确实能够刷新了,但是每次刷新之后并不能改变需要触发事件的那个

    2025年11月1日
    3
  • pycharm运行py文件_Pycharm运行

    pycharm运行py文件_Pycharm运行当我们在pycharm上完成我们的项目之后,我们应该如何运行这个项目的呢?方法一:点击三角线绿色按钮,运行run(运行程序)方法二:使用快捷键Ctrl+shift+10,效果一样,同样也能在屏幕打印helloworld。方法三:使用cmd命令,打开cmd终端,进入工程所在目录,执行命令:python<py文件>。方法四:切换到Terminal窗口…

    2022年8月26日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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