当前位置: 首页 > news >正文

浙江众安建设集团有限公司网站优质高职院建设网站

浙江众安建设集团有限公司网站,优质高职院建设网站,网络营销师报名,天津做网站.都找津坤科技【SpringBoot系列】- 四大核心之actuator(程序监控器) 文章目录 【SpringBoot系列】- 四大核心之actuator(程序监控器)一、概述二、Spring Boot Actuator应用2.1 在项目POM文件中导入Actuator2.2 application配置2.3 配置详解2.3.1 Sensor 类 endpoints2.3.2 Actuator 类 endpo…【SpringBoot系列】- 四大核心之actuator(程序监控器) 文章目录 【SpringBoot系列】- 四大核心之actuator(程序监控器)一、概述二、Spring Boot Actuator应用2.1 在项目POM文件中导入Actuator2.2 application配置2.3 配置详解2.3.1 Sensor 类 endpoints2.3.2 Actuator 类 endpoints2.3.3 自定义应用的健康状态检查 三、Actuator监控项四、Spring Boot Actuator应用扩展3.1 CrshAutoConfiguration 与 spring-boot-starter-remote-shell3.2 CrshAutoConfiguration 与 spring-boot-starter-remote-shell3.3 Auditing 与 Trace 五、总结 一、概述 应用系统在开发完成以后就投入实际生产中运营。在软件运行时整个软件一个黑盒如何在整个生命周期中准确的知道应用程序运行的健康状况服务使用状态我们需要对应用程序进行监控从而了解应用的运行状态并根据情况决定是否需要对其运行状态进行调整。 Spring Boot提供了Spring-Boot-Start-Actuator 自动配置模块用于支持 SpringBoot 应用的监控。Spring Boot Actuator模块提供了生产级别的功能比如健康检查、审计、指标收集、HTTP跟踪等帮助我们监控和管理Spring Boot应用程序。 这个模块是一个采集应用内部信息暴露给外部的模块上述的功能都可以通过HTTP和JMX访问。因为是暴露内部信息的特性Actuator也可以和一些外部的应用监控程序结合Graphite、Prometheus、Zabbix、cAdvisor、Riemann等更友好的提供仪表板、图形图表、分析与预警。可帮助你通过一个统一友好的界面监视和管理你的应用程序。 二、Spring Boot Actuator应用 2.1 在项目POM文件中导入Actuator dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId /dependency dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId /dependency2.2 application配置 需要在application配置文件中配置具体的Actuator应用 Spring boot 2.6以后的版本需要手动开启info配置因为info默认值是false server:port: 8080 #服务端口 info: application:name: project.name #从pom.xml中获取description: project.description version: project.versionmanagement:server:port: 8501 #指定监听端口不能指定则与server端口一致。endpoints: #启动所有监控web: exposure: include: *info: # spring-boot 2.6以后info默认值为false.需手动开启env:enabled: true2.3 配置详解 spring-boot-starter-actuator 自动配置模块默认提供了很多 endpoint虽然自动配置模块名为 spring-boot-starter-actuator但实际上这些 endpoint 可以按照“监”和“控”划分为两类 2.3.1 Sensor 类 endpoints 序号名称说明1autoconfig这个 endpoint 会为我们提供一份 SpringBoot 的自动配置报告告诉我们哪些自动配置模块生效了以及哪些没有生效原因是什么。2beans给出当前应用的容器中所有 bean 的信息。3configprops对现有容器中的 ConfigurationProperties 提供的信息进行“消毒”处理后给出汇总信息。4info提供当前 SpringBoot 应用的任意信息我们可以通过 Environment 或者 application.properties 等形式提供以 info. 为前缀的任何配置项然后 info 这个 endpoint 就会将这些配置项的值作为信息的一部分展示出来。5health针对当前 SpringBoot 应用的健康检查用的 endpoint。6env关于当前 SpringBoot 应用对应的 Environment 信息。7metrics当前 SprinBoot 应用的 metrics 信息。8trace当前 SpringBoot 应用的 trace 信息。9mapping如果是基于 SpringMVC 的 Web 应用mapping 这个 endpoint 将给出 RequestMapping 相关信息。 2.3.2 Actuator 类 endpoints shutdown用于关闭当前 SpringBoot 应用的 endpoint。dump用于执行线程的 dump 操作。 默认情况下除了 shutdown 这个 endpoint因为比较危险如果没有安全防护谁都可以访问它然后关闭应用其他 endpoints 都是默认启用的。 生产环境下如果没有启用安全防护比如没有依赖 spring-boot-starter-security那么建议遵循 Deny By Default 原则将所有的 endpoints 都关掉然后根据具体情况单独启用某些 endpoint endpoints:enabled: truefalseendpoints:info:enabled: trueendpoints: health: enabled: true所有配置项以 endpoints. 为前缀然后根据 endpoint 名称划分具体配置项。大部分 endpoints 都是开箱即用但依然有些 endpoint 提供给我们进一步扩展的权利比如健康状态检查相关的 endpointhealth endpoint。 2.3.3 自定义应用的健康状态检查 应用的健康状态检查是很普遍的监控需求SpringBoot 也预先通过 org.springframework.boot.actuate.autoconfigure.HealthIndicatorAutoConfiguration 为我们提供了一些常见服务的监控检查支持比如: DataSourceHealthIndicatorDiskSpaceHealthIndicatorRedisHealthIndicatorSolrHealthIndicatorMongoHealthIndicator 如果这些默认提供的健康检查支持依然无法满足我们的需要SpringBoot 还允许我们提供更多的 HealthIndicator 实现只要将这些 HealthIndicator 实现类注册到 IoC 容器SpringBoot 会自动发现并使用它们。 三、Actuator监控项 HTTP方法路径描述授权GET/autoconfig查看自动配置的使用情况trueGET/configprops查看配置属性包括默认配置trueGET/beans查看bean及其关系列表trueGET/dump打印线程栈trueGET/env/{name}查看具体变量值trueGET/health查看应用健康指标trueGET/info查看应用信息需要自己在application.properties里头添加信息falseGET/mappings查看所有url映射trueGET/metrics报告各种应用程序度量信息比如内存用量和HTTP请求计数trueGET/metrics/{name}报告指定名称的应用程序度量值trueGET/shutdown关闭应用程序要求endpoints.shutdown.enabled设置为truetrueGET/trace提供基本的HTTP请求跟踪信息(时间戳、HTTP头等)true 四、Spring Boot Actuator应用扩展 endpoints 属于 spring-boot-starter-actuator 提供的主要功能之一除此之外spring-boot-starter-actuator 还提供了更多针对应用监控的支持和实现方案。 3.1 CrshAutoConfiguration 与 spring-boot-starter-remote-shell spring-boot-starter-actuator 提供了基于 CRaSH 的远程 ShellRemote Shell支持这是一把双刃剑不建议在生产环境使用因为提供给自己便利的同时也为黑客朋友们提供了便利。如果实在要用请加强安全认证和防护。 不过这里我们还是会为大家分析一下 spring-boot-starter-actuator 是如何提供针对 CRaSH 的支持的。 spring-boot-starter-actuator 提供了 org.springframework.boot.actuate.autoconfigure.CrshAutoConfiguration 自动配置类该类会在 org.crsh.plugin.PluginLifeCycle 出现在 classpath 中的时候生效。 所以只要将 CRaSH 作为依赖加入应用的 classpath 依赖就可以了最简单直接的做法是让需要启用 CRaSH 的 SpringBoot 应用依赖 spring-boot-starter-remote-shell 自动配置模块spring-boot-starter-remote-shell 的主要功效就是提供了针对 CRaSH 的各项依赖。 3.2 CrshAutoConfiguration 与 spring-boot-starter-remote-shell SpringBoot 提供了一套自己的针对系统指标的度量框架基本上我们只需关注 org.springframework.boot.actuate.endpoint.PublicMetrics 即可它可以理解为提供一组 Metric 的集合我们既可以通过 PublicMetrics 来汇总和管理 Metric也可以通过 MetricRepository 来存储和管理 Metric。 一旦使用了 spring-boot-starter-actuator只要当前 SpringBoot 应用的 ApplicationContext 中存在任何 PublicMetrics 实例EndpointAutoConfiguration 就会将这些 PublicMetrics 采集汇总到一起然后通过 MetricsEndpoint 将它们开放出去。 spring-boot-starter-actuator 提供的 org.springframework.boot.actuate.autoconfigure.PublicMetricsAutoConfiguration 默认会把一个 SystemPublicMetrics 开放出来用于提供系统各项指标的度量和状态采集另外一个就是会把当前 SpringBoot 应用的 ApplicationContext 的 org.springframework.boot.actuate.metrics.repository.MetricRepository 实例中的所有 Metric 汇总并开放出去。 默认如果用户没有给出任何自定义的 MetricRepositoryspring-boot-starter-actuator 会提供一个 InMemoryMetricRepository 实现如果我们将 Dropwizard 的 Metrics 类库作为依赖加入 classpath那么Dropwizard Metrics 的 MetricRegistry 中所有的度量指标项也会通过 PublicMetrics 的形式开发暴露出来。 虽然 SpringBoot 提供的 metrics 框架也能帮助我们完成系统和应用指标的度量但笔者更倾向于使用 Dropwizard 这种特定场景下比较完善的方案从 metrics 的类型到外围系统的集成Dropwizard metrics 都更加成熟和完备。 3.3 Auditing 与 Trace SpringBoot 的 Auditing 和 Trace 支持都遵循数据/事件Repository 的设计。从设计上来说是很简单清晰的也有很好的统一性但实际应用过程中我们依然会更加倾向于特定场景的方案选型。 我们可能只是通过打印日志时候的 Logger 名称来区分并记录 Audit 事件然后通过日志采集通道汇总分析就可以了而不用非要实现一个 LogFileBasedAuditEventRepository 或者 ElasticSearchBasedAuditEventRepository 之类的实现对于 Trace 来说也是同样道理我们可能直接使用完备的 APM 方案而不是单一或者少量 Trace 事件的记录。 五、总结 Spring Boot Actuator 是 Spring Boot 的一个重要特性它提供了丰富的端点可以用于监控和管理应用程序。在本文中我们介绍了 Actuator 的基本使用方法包括端点的配置、使用、安全性和扩展。希望本文可以帮助读者更好地使用 Spring Boot Actuator 监控和管理应用程序。
http://www.yutouwan.com/news/52186/

相关文章:

  • 会议专属网站平台建设报价单缩短链接的网站
  • 中企动力设计的网站免费空间可以上传网站吗
  • 代理小企业网站建设贵阳美丽乡村建设网站
  • 建网页和建网站濮阳招聘大濮网
  • .net wap网站模板网站建设的内部风险分析
  • ps做网站宽度怎么做网页制作网站模板
  • 网站开发 改进农业信息网站 建设
  • vps被攻击网站打不开ping值高中建八局第二建设有限公司平台
  • 广东网站建设公司排名叫任何一个人一个小时做网站
  • 大连哪里有手机自适应网站建设北京建设网官网下载
  • 做网站迅雷下载链接设置手机之家论坛官网
  • 江苏省网站备案电话号码哈尔滨专利局申请专利地址
  • 如何做一个门户网站明天网页游戏开服表
  • 网页网站建设的ppt模板网站栏目建设评活动
  • 如果域名网站用来做违法网站娱乐app网站开发
  • 福建中江建设公司网站怀化seo快速排名
  • 雅安市政建设公司网站做网站的像素是多少钱
  • 办公用品网站系统建设源码sem竞价托管
  • 常州网站推广网站建设网站公司
  • 做外贸什么网站比较好做网站需要几个人分工
  • 网站备案 2016产品推广文案
  • 网站开发哪便宜北京环评在那个网站上做
  • 智慧团建网站密码石家庄网站建设电商
  • 阐述建站流程河池网站制作
  • 零食公司建立网站的原因福州建设工程招投标信息网
  • 卡地亚官方网站制作需要多少钱北京住房建设官方网站
  • 电商思维做招聘网站网站插件代码大全
  • 包装模板网站焦作做网站最专业的公司
  • 手机版自适应网站怎么做潍坊免费模板建站
  • 老河口建设局网站网络营销是什么含义