zoukankan      html  css  js  c++  java
  • 【Springboot】用Prometheus+Grafana监控Springboot应用

    1 简介

    项目越做越发觉得,任何一个系统上线,运维监控都太重要了。关于Springboot微服务的监控,之前写过【Springboot】用Springboot Admin监控你的微服务应用,这个方案可以实时监控并提供告警提醒功能,但不能记录历史数据,无法查看过去1小时或过去1天等运维情况。本文介绍Prometheus + Grafana的方法监控Springboot 2.X,实现美观漂亮的数据可视化。

    2 Prometheus

    Prometheus是一套优秀的开源的监控、报警和时间序列数据库组合系统,在现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控。

    2.1 引入到Springboot

    Prometheus引入依赖如下:

    <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-registry-prometheus</artifactId>
    </dependency>
    

    对于Springboot,要开启Actuator,并打开对应的Endpoint

    management.endpoints.web.exposure.include=*
    # 或者
    management.endpoints.web.exposure.include=prometheus
    

    启动Springboot后,可以通过下面URL看能不能正确获取到监控数据:

    localhost:8080/actuator/prometheus
    

    获取数据成功,说明Springboot能正常提供监控数据。

    2.2 Docker方式使用

    为了方便,使用Docker启动Prometheus

    # 拉取docker镜像
    docker pull prom/prometheus
    

    准备配置文件prometheus.yml

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

    启动docker实例:

    # 端口为9090,指定配置文件
    docker run -d -p 9090:9090 -v ~/temp/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus --config.file=/etc/prometheus/prometheus.yml
    

    2.3 测试与查看

    成功启动后,就可以打开网页查看了,并且能图形化展示,URL为http://localhost:9090/。

    Prometheus

    如上图所示,打开网页后,随便选取一个对应的监控指标与参数,点击Execute就可以查看了。

    3 Grafana

    Grafana是一个开源的度量分析与可视化套件,纯JavaScript开发的前端工具,通过访问库(如InfluxDB),展示自定义报表、显示图表等。它的UI十分灵活,有丰富的插件和模板,功能强大。一般用在时序数据的监控方面。

    3.1 Docker安装与启动

    # 拉取镜像
    docker pull grafana/grafana
    # 运行实例
    docker run -d -p 3000:3000 grafana/grafana
    

    启动成功后,访问http://localhost:3000 检查是否成功,初始管理员账号密码为admin/admin

    3.2 配置数据源

    Grafana展示数据,则需要配置对应的数据源,本文中配置之前安装启用的Prometheus数据源,具体配置如下图所示:

    DataSource

    需要注意的是Access要选Browser模式,否则无法正常获取数据。配置完成后,点击Save & Test即可。

    3.3 模板套用

    能够获取数据后,就可以自定义数据可视化展示了。但如果自己一条指标一条指标的加,就会很麻烦。实际上,Grafana提供了许多优秀的模板,可以网页https://grafana.com/grafana/dashboards 查找。

    本文使用Spring Boot 2.1 Statistics模板,导入方法如下:

    点击+号 --> Import --> 输入模板链接或ID --> 点击Load。

    import

    成功导入后,就能监控数据了,而且,界面真的很好看:

    view

    4 总结

    本文介绍了如何使用Prometheus + Grafana监控Springboot应用,实际上,Prometheus + Grafana十分强大,值得花时间好好研究。

    本文例子中软件版本信息如下:

    springboot.version=2.2.5
    micrometer-registry-prometheus=1.3.5
    prometheus.version=2.16
    grafana.version=6.7.0-beta1
    

    欢迎关注公众号<南瓜慢说>,将持续为你更新...

    file

    多读书,多分享;多写作,多整理。

  • 相关阅读:
    超市名词解释
    卖功能?买利益?还是买价值?
    店长如何防止顾客外流
    生鲜在卖场中的六大类别
    卖场商品ABCD分类原则
    零售业常用的数字管理公式及其意义
    零售店的利润类型分析
    把握好生鲜经营的关键因素
    常见的心理定位套路
    [转]New .Net三层架构
  • 原文地址:https://www.cnblogs.com/larrydpk/p/12563497.html
Copyright © 2011-2022 走看看