首页 > 编程知识 正文

java数据采集实时监控系统,微服务监控

时间:2023-05-04 16:06:45 阅读:53223 作者:1533

原标题: Java最受欢迎的微服务框架监测和各种监测数据

自动化监控运输机制

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

为了使运输系统能够获取各微服务APP应用的相关指标并实现一些常规操作控制,需要开发嵌入各微服务APP应用的专用接口,以便监控系统收集信息。

部署spring-boot-starter-actuator模块

通过部署spring-boot-starter-actuator模块,可以自动为用Spring Boot构建的APP应用程序提供一组用于监视的端点。

Spring Cloud在实现每个微服务组件时,对该模块进行了很多扩展

上图显示了spring-boot-starter-actuator模块根据APP应用程序的依赖关系和配置自动创建的监视和管理端点的定义。 这些端点允许您实时获取APP应用程序的每个监视指标。

设置访问权限

关闭后,按如下方式将其添加到application.properties中:

management.security.enabled=false

spring-boot-starter-actuator端点分类

根据端点的作用,本机端点可以分为三类:

APP应用程序配置类:获取加载到APP应用程序中的APP应用程序配置、环境变量、自动配置报告等。 度量类获取正在运行APP应用程序的度量,包括内存信息、线程池信息和HTTP请求统计信息。 操作控制系统:提供关闭APP应用程序等操作系统功能。

应用配置类

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

—— /自动配置类APP应用程序

应用的自动配置报告。 这包括所有自动配置的候选对象。 它还指示每个候选是否满足自动配置的前提条件。

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

——/beans类的APP应用程序配置

/Beans:此端点用于检索在APP应用程序上下文中创建的所有bean。

bean: Bean的名称。 scope: Bean的范围。 类型: bean的Java类型。 resource:类文件的具体路径。 dependencies:依赖的Bean名称。

——/config props APP应用程序配置类

/configprops:端点用于检索在APP应用程序中配置的属性信息报告。

若要关闭端点,请将endpoints.configprops.enabled设置为false。

——/env类APP应用程序

/env:端点用于检索APP应用程序中可用的所有环境属性报告。 包括环境变量、JVM属性、应用的配置属性和命令行参数。

—— /映射APP类

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

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

——/info类APP应用程序

/info:端点用于返回APP应用程序自定义的信息。

必须以info为前缀。

指标类—— /metrics

/metrics:此端点用于返回当前APP应用程序的重要度量,包括内存信息、线程信息和垃圾回收信息。

系统信息:包括处理器数量processors、正常运行时间uptime、instance.uptime和系统平均负载systemload.average。 mem.内存配置文件。 包括分配给APP应用程序的内存总数和当前可用的内存数。 这些信息来自java.lang.Runtime。 heap.堆内存使用情况。 这些信息来自Java.lang.management.memorymxbean接口的getHeapMemoryUsage方法中的Java.lang.management.memory usage nonheap.非堆内存使用。 这些信息是从Java.lang.management.memorymxbean接口的getNonHeapMemoryUsage方法中获取的Java.lang.management.memory usage Threads.线程的使用情况。 包括线程数、守护程序线程数(daemon )、线程峰值(peak )等。 所有这些数据都来自Java.lang.management.threadmxbe

an。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

责任编辑:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。