You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Pivotal中配置指定端口的Actuator HTTP健康检查URL?

解决Cloud Foundry中指定Actuator端口进行健康检查的问题

我明白你遇到的困扰了——在Cloud Foundry里,当应用主端口和Actuator管理端口分开部署时,直接在health-check-http-endpoint里写带IP和端口的路径确实行不通,因为这个字段只支持路径部分,CF会把你写的${CF_INSTANCE_IP}:8091/actuator/health当成完整的请求路径,自然访问不到正确的端点。

下面给你两种可行的解决方案:

方案一:使用Manifest配置指定健康检查端口(推荐)

如果你的Cloud Foundry版本在v2.10及以上(大部分现代CF环境都满足),可以直接在manifest.yml里新增health-check-http-port字段来指定Actuator的端口:

applications:
- name: your-app-name
  instances: 1
  memory: 1G
  buildpacks:
    - java_buildpack
  health-check-type: http
  health-check-http-endpoint: /actuator/health
  health-check-http-port: 8091
  # 保留你原有的其他配置项...

这个配置会明确告诉CF:把HTTP健康检查请求发送到实例的8091端口,路径是/actuator/health,完美匹配你的Actuator部署场景。

方案二:使用CLI命令配置(兼容旧版本CF)

如果你的CF环境版本较低,不支持health-check-http-port字段,可以用CF CLI命令直接设置健康检查的端口和端点:

# 替换YOUR_APP_NAME为你的实际应用名称
cf set-health-check YOUR_APP_NAME http --endpoint /actuator/health --port 8091

执行完这个命令后,CF会立即更新应用的健康检查配置,后续的健康检查请求就会自动指向8091端口的Actuator健康端点了。

验证配置是否生效

部署或更新配置后,你可以通过以下方式确认健康检查配置是否正确:

  • 运行cf app YOUR_APP_NAME,在输出的Health Check模块查看端口和端点信息
  • 查看应用日志(cf logs YOUR_APP_NAME --recent),检查是否有来自CF健康检查组件的请求打到了8091端口的/actuator/health路径

内容的提问来源于stack exchange,提问作者Marcelo Henrique

火山引擎 最新活动