前面我们介绍了Prometheus的作用和整体的架构,相信大家对Prometheus有了一定的了解。

具体可以查看这篇文章:https://mp.weixin.qq.com/s/QoAs0-AYy8krWTa3HbmJZA

今天着重介绍下如何在项目中将Prometheus用起来,结合漂亮的图表做数据展示,真的非常帅气。

使用之前先介绍一个Micrometer,Micrometer 是一款监控指标的度量类库,提供了对各种指标的监控。比如JVM, 线程池,数据库连接池等。

官方网站:https://micrometer.io/

项目集成

首先在项目中添加下面的Maven依赖,如下:

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

增加对应的配置,如下:

management:endpoints:web:exposure:include: "*"metrics:tags:application: ${spring.application.name}

exposure.include配置你要暴露的端点信息,全部就配置成 * 号。

tags.application配置成跟服务名一样即可。

访问/actuator/prometheus就可以看到很多指标数据了,至于这些数据是怎么出来的就不做过多讲解,对应的代码都在micrometer-registry-prometheus包中,大家可以自己去研究下。

# HELP hikaricp_connections_max Max connections
# TYPE hikaricp_connections_max gauge
hikaricp_connections_max{application="haomai-customer",pool="HikariPool-1",} 10.0
# HELP process_start_time_seconds Start time of the process since unix epoch.
# TYPE process_start_time_seconds gauge
process_start_time_seconds{application="haomai-customer",} 1.611642684781E9
# HELP jvm_gc_max_data_size_bytes Max size of old generation memory pool
# TYPE jvm_gc_max_data_size_bytes gauge
jvm_gc_max_data_size_bytes{application="haomai-customer",} 2.68435456E8
# HELP tomcat_sessions_created_sessions_total
# TYPE tomcat_sessions_created_sessions_total counter
tomcat_sessions_created_sessions_total{application="haomai-customer",} 0.0

数据采集

如果没有做服务动态发现,那就手动修改Prometheus配置文件,新增一个任务进行抓取。

 - job_name: 'haomai-customer-beta'scrape_interval: 5smetrics_path: '/actuator/prometheus'static_configs:- targets: ['192.168.1.49:8099']

在Targets中查看是否成功。

数据展示

先去grafana搜一个帅气的图表,地址如下:

https://grafana.com/grafana/dashboards?search=spring%20boot

选第一个就行了,星星数量多点。

点进去复制图表的编号12856,去grafana中导入即可,选择数据源就可以展示了。

当然像数据库连接之类的也可以去搜专门的图表来展示,或者自定义图表,这个后面再给大家介绍。

同样还有告警也是需要单独做的,可以用grafana自带的告警来做,也可以单独部署Alertmanager来做告警。后续再单独再介绍哈。

关于作者:尹吉欢,简单的技术爱好者,《Spring Cloud微服务-全栈技术与案例解析》, 《Spring Cloud微服务 入门 实战与进阶》作者, 公众号猿天地发起人。

Prometheus为你的SpringBoot应用保驾护航相关推荐

  1. prometheus remote write for springboot 远程写入<一>

    prometheus启动参数 --enable-feature=remote-write-receiver 准备 remote.proto types.proto gogo.proto protoc- ...

  2. 使用Prometheus与Grafana追踪SpringBoot程序

    本案例使用Prometheus去追踪SpringBoot的Metrics信息,通过Grafana将Prometheus收集到的信息进行可视化展示. 使用的软件版本: OS:Win10 x64 专业版 ...

  3. Prometheus+Grafana可视化监控SpringBoot项目

    原文地址:https://xeblog.cn/articles/7 Prometheus简介 简史 Prometheus受启发于Google的Brogmon监控系统(相似的Kubernetes是从Go ...

  4. SpringBoot应用监控SpringBoot+Prometheus+Grafana

    SpringBoot应用监控SpringBoot+Prometheus+Grafana 1. SpringBoot应用监控 1.1 SpringBoot应用监控 1.2 SpringBoot应用搭建 ...

  5. SpringCloud使用Prometheus监控(基于Eureka)

    本文介绍SpringCloud使用Prometheus,基于Eureka服务发现. 1.Prometheus介绍 在之前写过两篇有关Prometheus使用的文章,如下: <SpringBoot ...

  6. Prometheus + Grafana 图形化监控实践

    本文将详细介绍Prometheus和Grafana的快速搭建,并实现JVM.Mysql等实时监控. 本文将在Windows环境搭建Demo.   版权说明: 本文由博主keep丶原创,转载请注明出处. ...

  7. Prometheus 报错 Error refreshing service Unexpected response code: 503 解决办法

    现状 使用 Prometheus 通过 consul 对 springboot 微服务实例指标进行采集,然后准备显示到指标图中,主要包括了如下几个步骤: 微服务仍然使用的是 eureka,因 Prom ...

  8. SpringCloud使用Sofa-lookout监控(基于Eureka)

    本文介绍SpringCloud使用Sofa-lookout,基于Eureka服务发现. 1.前景 本文属于是前几篇文章的后续,其实一开始感觉这个没有什么必要写的,但是最近一个朋友问我关于这个的问题,所 ...

  9. python android自动化能做哪些页面_android - python 自动化测试 移动互联网 - SegmentFault...

    批处理ODBC配置 工作需要来回切换ODBC配置,用同一个DSN名称访问不同的数据库. 对于linux的odbc配置在odbc.ini文件里,替换不同的文件就可以切换了. 而windows的配置一直通 ...

最新文章

  1. 车联网技术对中老年人吸引力更大
  2. 剑指offer--面试题14--收获
  3. Python数据结构与算法(第二天)
  4. 由防止表单重复提交引发的一系列问题--servletRequest的复制、body值的获取
  5. How to make a proposal?
  6. IPv6应用普及,任重而道远
  7. 二、PHP基础——连接msql数据库进行增删改查操作 实战:新闻管理项目
  8. 华为鸿蒙系统适应手机,魅族宣布接入鸿蒙生态,成为国内首家积极响应并支持华为的国内厂商...
  9. Ubuntu16.04下Nvidia+Cuda8.0+Dynet安装教程
  10. 嗅探TFTP配置文件传输
  11. linux mint 图标主题_Ubuntu/Linux Mint 用上仿 Win7/Win8 主题
  12. 【房价预测】BP神经网络回归的现实应用-上海市二手房价格影响因素分析——思路剖析和结果分享
  13. 数据分析之北京房价复习
  14. 扫雷超详解(可展开一片空白)
  15. html5怎么设置字母联想,联想bios高级模式
  16. Android studio 安卓开发常见问题(个人笔记系列)
  17. Docker下redis与springboot三部曲之三:springboot下访问redis哨兵
  18. 灵魂9问,光怪陆离的网络世界有哪些不为人知的秘密?(网络面试必考)
  19. vue中使用element-tiptap
  20. 硬盘损坏有哪些表现?丢失的文件怎么恢复?

热门文章

  1. java 判断简体 繁体字_java判定字符是英文,中文简体,还是繁体
  2. glusterfs分布式文件系统详细原理
  3. MongoDB 数据文件损坏修复救命repair与致命危险
  4. python hdf5_使用Python将大量数字写入HDF5文件
  5. python123程序设计题说句心里话a_C程序设计基础(2019年春)-中国大学mooc-试题题目及答案...
  6. 《 降伏其心(一)》
  7. beeline执行sql语句_beeline执行sql脚本交易
  8. 国内常用的代理ip形式动态住宅ip和移动手机代理ip有什么区别?
  9. 小米如何使用远程管理FTP操作电脑和手机的文件
  10. MyBatis-Plus 扩展篇 > 自动填充功能