使用 Prometheus + Grafana + Spring Boot Actuator 监控应用

在企业级的应用中,监控往往至关重要,监控可以帮助我们预防故障,预测变化趋势,在达到阈值的时候报警,为排查生产问题提供更多的信息。如果我们不知道我们程序的运行情况,当线上系统出现了事故再去排查就需要花费更多的时间,如果能提前监控,就能早做准备,以免出了事故之后乱了手脚,当然也避免不了系统不产生一点事故,但是能减少系统事故的产生。同时也能看到系统问题,早做优化,避免更大的事故发生。

1. Spring Boot Actuator

根据官网介绍,Spring Boot包含了很多附加功能帮助我们监控和管理我们的应用,可以使用HTTP或者JMX等方式通过端点(endpoint)获取应用的健康状态以及其他指标收集。

Spring Boot Actuator模块就是Spring Boot提供的集成了上面所述的监控和管理的功能。像Spring Boot其他模块一样开箱即用,非常方便,通过Actuator就可以使用HTTP或者JMX来监控我们的应用。

JMX(Java Management Extensions):Java平台的管理和监控接口,任何程序只要按JMX规范访问这个接口,就可以获取所有管理与监控信息。

下面简单介绍下Spring Boot Actuator是如何使用的,具体的使用方法见官方文档,官方的文档是永远值得相信的。

1.1 添加依赖

如果使用maven管理,则是:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
</dependencies>

如果使用Gradle,则是下面这样的:

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-actuator'
}

1.2 开启端点

Spring Boot中监控应用或者与应用交互都是通过端点(endpoint)进行的,Spring Boot提供了非常多的原生端点,比如health,可以帮助我们监控应用的监控状态(是否可用),同时可以添加自定义的端点。每个端点都可以单独设置是否开启,并通过HTTP或者JMX暴露给外部系统。如果选择HTTP方式,则URL的前缀一般是/actuator,比如health的url地址就是/actuator/health

默认情况下,除了shutdown(让系统优雅的关闭) ,其他端点默认是开启的。我们可以通过management.endpoint.<id>.enabled设置某个端口的状态,比如开启shutdown端口。

management.endpoint.shutdown.enabled=true

1.3 暴露端点

开启端点后还必须暴露端点给HTTP或者JMX才能正常使用,但是端口可能包含一些敏感的数据,所以Spring Boot的原生端口默认只支持HTTP或者JMX,比如shutdown端口默认只支持JMX,

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值