前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Actuator与服务监控

Actuator与服务监控

作者头像
写一点笔记
发布2020-09-10 15:43:09
6550
发布2020-09-10 15:43:09
举报
文章被收录于专栏:程序员备忘录程序员备忘录

在SpringCloud体系中,SpringCloud-Admin能够提供强大的服务监控功能。去年我也整理过SpringCloud-admin的相关文档。但对Actuator并不是很熟悉,之前只知道Actuator能够提供了很多restful接口供SpringCloud-admin去调用。然后进行展示。

因为微服务能够通过注册中心获取到服务的地址从而使得SpringCloud只需要对接到注册中心即可实现对服务的监控。但是考虑到有些系统目前处于另外一种状态。比如与微服务相比服务确实是将一个大系统拆分成了很多独立的子系统。而且子系统可以独立部署而且还可以集群部署。但是没有注册中心,也就是服务没有弹性。服务的容错性只能通过nginx等被动的方式进行。那么在这种形势下使用SpringCloud-admin就不行了。但是作为基础组件的Actuator确实可以用一下。但是肯定需要我们自定义开发了。当然服务端肯定需要与我们进行配合,然后导入Actuator相关的jar包。然后进行暴露。作为收集端和展示端我们需要采用定时任务的方式进行获取Actuator的服务信息。然后进行处理并存储,然后通过html页面进行对外展示。基本的思路是这样的。我本人的想法是做一个即可以兼容微服务又可以兼容普通项目的监控平台。这样对于运维和开发来说都有重要的意义。

项目中如何整合Actuator?

1.导入spring-boot-starter-actuator。

代码语言:javascript
复制
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

在配置文件中填写 actuator相关暴露的接口信息。

代码语言:javascript
复制
# 监控端口为8081
management.server.port=8081
#不允许调用actuator提供的服务关机接口
management.endpoint.shutdown.enabled=false
# 设置端点是否可用 默认只有shutdown可用
management.endpoints.enabled-by-default=true
# 设置是否暴露端点 不让shutdown进行暴露供api调用
management.endpoints.web.exposure.exclude=shutdown
#将所有的监控接口对外暴露,注意这里的*不用带引号 
management.endpoints.web.exposure.include=*
#监控容器额contentpath
management.server.servlet.context-path=/monitor
#监控地址的基础前缀
management.endpoints.web.base-path=/simple

设置好上边配置信息。就可以启动程序并查看暴露的接口了。

可以看到Actuator共扫描到了15个可以暴露的接口。

在postMan中测试一下所暴露的接口,通过这些接口我们可以进行定制化开发。然后制作自己的监控系统。

那么这些接口都提供哪些信息?要做好监控这些东西都是相当重要的。

在官网上我们发现

就目前来说,个人觉得metrics、health、info、configprops比较重要。所以后期整合的时候会先收集这些指标。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员备忘录 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
微服务引擎 TSE
微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档