原标题:Java最流行的微服务框架监控和各种监控数据

自动化的监控运维机制

自动化的监控运维机制的运行基础是不间断地收集各个微服务应用的各项指标情况,并根据这些基础指标信息来制定监控和预警规则,更进一步做到自动化的运维操作。

为了让运维系统能够获取各个微服务应用的相关指标以及实现一些常规操作控制, 需要开发一套专门用于植入各个微服务应用的接口供监控系统采集信息。

引入spring-boot-starter-actuator模块

引入spring-boot-starter-actuator模块能够自动为Spring Boot构建的应用提供一系列用于监控的端点。

Spring Cloud在实现各个微服务组件的时候, 进一步为该模块做了不少扩展

上图显示了一批端点定义, 这些端点由spring-boot-starter-actuator模块根据应用依赖和配置自动创建出来的监控和管理端点。通过这些端点,可以实时获取应用的各项监控指标。

权限的配置

先暂时关闭掉,在application.properties中添加如下:

management.security.enabled=false

spring-boot-starter-actuator端点分类

根据端点的作用, 可以将原生端点分为以下三大类。

应用配置类:获取应用程序中加载的应用配置、 环境变量、 自动化配置报告等。度量指标类:获取应用程序运行过程中的度量指标, 比如内存信息、 线程池信息、 HTTP请求统计等。操作控制类:提供了对应用的关闭等操作类功能。

应用配置类

自动化配置的报告、 Bean创建的报告、 环境属性的报告等。

应用配置类——/autoconfig

应用的自动化配置报告, 其中包括所有自动化配置的候选项。 同时还列出了每个候选项是否满足自动化配置的各个先决条件。

每个自动化配置候选项中都有一 系列的条件

应用配置类——/beans

/beans: 该端点用来获取应用上下文中创建的所有Bean。

bean: Bean 的名称。scope: Bean 的作用域。type: Bean 的 Java 类型。resource: class 文件的具体路径。dependencies: 依赖的 Bean 名称。

应用配置类——/configprops

/configprops: 该端点用来获取应用中配置的属性信息报告。

如要关闭该端点,可以设置endpoints.configprops.enabled为false。

应用配置类——/env

/env: 该端点用来获取应用所有可用的环境属性报告。 包括环境变量、JVM属性、应用的配置属性、命令行中的参数。

应用配置类——/mappings

/mappings: 该端点用来返回所有Spring MVC的控制器映射关系报告。

bean属性表示该映射关系的请求处理器, method属性表示了该映射关系的具体处理类和处理函数。

应用配置类——/info

/info: 该端点用来返回 一些应用自定义的信息。

需要以info为前缀。

度量指标类—— /metrics

/metrics: 该端点用来返回当前应用的各类重要度量指标,比如内存信息、线程信息、垃圾回收信息等。

系统信息:包括处理器数量 processors、运行时间uptime和instance.uptime、系统平均负载systemload.average。mem.: 内存概要信息,包括分配给应用的总内存数量以及当前空闲的内存数量。这些信息来自java.lang.Runtime。heap.: 堆内存使用情况。 这 些 信 息 来 自java.lang.management.MemoryMXBean 接口中getHeapMemoryUsage方法获取的 java.lang.management.MemoryUsage。nonheap.: 非堆内存使用情况。 这些信息来自 java.lang.management.MemoryMXBean接口中getNonHeapMemoryUsage方法获取的java.lang.management.MemoryUsage。Threads.: 线程使用情况,包括线程数、守护线程数(daemon)、线程峰值(peak)等, 这些数据均来自java.lang.management.ThreadMXBean。classes.: 应用加载和卸载的类统计。这些数据均来自java.lang.management.ClassLoadingMXBean。gc.: 垃圾收集器的详细信息, 包括垃圾回收次数gc.ps_scavenge.count、垃圾回收消耗时间 gc.ps_scavenge.time、标记-清除算法的次数 gc.ps_marksweep.count、 标记-清除算法的消耗时间gc.ps_marksweep.time。这些数据均来自java.lang.management.GarbageCollectorMXBean。httpsessions.* : Tomcat容器的会话使用情况。 包括最大会话数httpsessions.max和活跃会话数httpsessions.active。该度量指标信息仅在引入嵌入式Tomcat作为应用容器的时候才会提供。gauge.: HTTP请求的性能指标之一,它主要用来反映一个绝对数值。 比如上面示例中的"gauge.response.info": 51.0,, 它表示上一次info请求的延迟时间为51毫秒。counter.: HTTP请求的性能指标之一,它主要作为计数器来使用,记录了增加量和减少量。 上述示例中的"counter.status.200.info": 1, 它代表了info请求返回200状态的次数为1。

star-star代表了对静态资源的访问:"gauge.response.star-star.favicon.ico": 17.0,"counter.status.200.star-star.favicon.ico": 1

/metrics/mem.free类似格式获取具体某个健康数据。

度量指标类 /metrics 自定义

注入org.springframework.boot.actuate.metrics.CounterService、org.springframework.boot.actuate.metrics.GaugeService,

访问几次该链接:

度量指标类 /health

/health: 用来获取应用的各类健康指标信息。在spring-boot-starter-actuator模块中实现了一些常用资源的健康指标检测器。这些检测器都实现了HealthIndicator接口,会根据依赖关系的引入实现自动化装配

度量指标类 /health——自定义健康指标检测器

度量指标类 /dump

该端点用来暴露程序运行中的线程信息。它使用 java.lang.management.ThreadMXBean的dumpAllThreads方法来返回所有含有同步信息的活动线程详情。

度量指标类 /trace

该端点用来返回基本的HTTP跟踪信息。默认情况下,跟踪信息的存储采用org.springfrarework.boot.actuate.trace.InMemoryTraceRepository实现的内存方式, 始终保留最近的100条请求记录。

操作控制类

需要通过配置开启。

在原生端点中, 只提供了一个用来关闭应用的端点: /shutdown。可以通过如下配置开启它:

endpoints.shutdown.enabled=true

责任编辑:

java服务监控_Java最流行的微服务框架监控和各种监控数据相关推荐

  1. java主流微服务框架_Spring Boot作为当下最流行的微服务开发框架,一名合格的Java开发者一定有所了解,...

    Spring Boot作为当下最流行的微服务开发框架,一名合格的Java开发者一定有所了解, Spring Boot相对于传统的SSM框架来说:springboot使用了特定的配置方式,开发人员不需要 ...

  2. java 服务注册中心_服务治理的含义和java最流行的微服务框架服务治理注册中心的搭建...

    原标题:服务治理的含义和java最流行的微服务框架服务治理注册中心的搭建 Spring Cloud Eureka基于Netflix Eureka做了二次封装,是Spring Cloud Netflix ...

  3. Java生鲜电商平台-深入理解微服务SpringCloud各个组件的关联与架构

    Java生鲜电商平台-深入理解微服务SpringCloud各个组件的关联与架构 概述 毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术.不过大多数讲解还停留 ...

  4. Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战

    Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战 Java生鲜电商平台-  什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定 ...

  5. 【Java开发】Spring Cloud 01 :微服务前提精要

    算是新开了一个 Spring Cloud 的坑,本文来源于姚半仙的<Spring Cloud 微服务项目实战>课程,大部分文字内容基于该课程,我的工作可能就是梳理归纳和拓展,希望尽快搞懂相 ...

  6. 最流行的微服务应用框架有哪些

    目前最流行的微服务应用框架包括: Spring Cloud:基于 Spring Boot 和 Spring Framework 开发的一整套分布式系统开发工具. Istio:由 Google.IBM ...

  7. java微服务项目简历_Spring Cloud及微服务简介

    最近在看微服务编排的东西,看到一篇入门博客,私以为不错,再次分享下:https://blog.csdn.net/w05980598/article/details/79007194 什么是微服务 微服 ...

  8. (转)微服务架构 互联网保险O2O平台微服务架构设计

    http://www.cnblogs.com/Leo_wl/p/5049722.html 微服务架构 互联网保险O2O平台微服务架构设计 关于架构,笔者认为并不是越复杂越好,而是相反,简单就是硬道理也 ...

  9. 如何构建成功的微服务架构?带你洞悉微服务构建流程,以实战角度出发,详解微服务架构

    前言 随着技术变得更加复杂,许多团队正在评估他们的架构如何最好地支持未来的业务.其中一种架构,微服务正在成为前瞻性技术部门越来越流行的选择.微服务架构可能是释放业务潜力的关键,但如何实现呢? 微服务是 ...

最新文章

  1. c语言swatch的用法返回,Linux swatch系统监控程序命令详解
  2. Samba常用配置及GUEST访问
  3. 通过调试对WriteFile()API的钩取
  4. HTML-JS 循环 函数 递归
  5. IOS , plist 配置项说明
  6. 工业级光纤收发器与光端机各自的作用及区别介绍
  7. ubuntu tomcat上传目录权限_等了 3 年,Ubuntu Studio 终于有权限上传更新包
  8. ubuntu编辑器terminator与vim
  9. Linux 下MongoDb的安装
  10. Java-使用字符串修改彩票程序
  11. DAVINCI DM6446 开发攻略——V4L2视频驱动和应用分析 1
  12. SQL Server 公用表表达式(CTE)
  13. 机器学习之理解支持向量机SVM
  14. C++的O2、O3到底是个什么鬼
  15. Oracle数据泵导入导出dmp数据文件详细教程
  16. 软1901cyl对c语言的认识
  17. Google Earth Engine(GEE)——MODIS 影像LST地表温度随时间变化的趋势案例分析
  18. Python基本图形绘制
  19. JMS基本概念和模型
  20. 国内即时通讯工具介绍

热门文章

  1. 76位健康专家共荐防病36计
  2. curl 错误:unable to verify the first certificate 解决办法
  3. linux 模拟器安卓版下载,ONS模拟器下载
  4. android google定位和地图
  5. 第一启富金:两大利空压顶 黄金受压收跌
  6. Halcon算子解释大全
  7. Mq报错:Caused by: com.rabbitmq.client.ShutdownSignalException
  8. 如何判断1024!末尾有多少个0
  9. SSL网站安全证书https加密防劫持
  10. Python turtle绘制——癸卯(兔)年卯兔图