溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

spring cloud consul注冊(cè)的服務(wù)報(bào)critical錯(cuò)誤怎么辦

發(fā)布時(shí)間:2021-07-12 11:42:19 來(lái)源:億速云 閱讀:452 作者:小新 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)spring cloud consul注冊(cè)的服務(wù)報(bào)critical錯(cuò)誤怎么辦,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

測(cè)試spring cloud 使用consul注冊(cè)服務(wù)的時(shí)候,出現(xiàn)critical,如下:

spring cloud consul注冊(cè)的服務(wù)報(bào)critical錯(cuò)誤怎么辦

怎么解決這個(gè)問(wèn)題,現(xiàn)在只能看到health check檢查失敗了。

受限調(diào)用這個(gè)請(qǐng)求Get http://consulIp:8500/v1/agent/checks,調(diào)完請(qǐng)求,就會(huì)拿到返回?cái)?shù)據(jù):

{
  ......
  "service:test-service-xx-xx-xx-xx": {
    "Node": "zookeeper-server1",
    "CheckID": "service:test-service-xx-xx-xx-xx",
    "Name": "Service 'test-service' check",
    "Status": "critical",
    "Notes": "",
    "Output": "HTTP GET http://xxx.xx.xxx.xxx:19008/actuator/health: 404 Output: <html><body><h2>Whitelabel Error Page</h2><p>This application has no explicit mapping for /error, so you are seeing this as a fallback.</p><div id='created'>Fri Mar 15 11:03:30 CST 2019</div><div>There was an unexpected error (type=Not Found, status=404).</div><div>No message available</div></body></html>",
    "ServiceID": "test-service-xx-xx-xx-xx",
    "ServiceName": "test-service",
    "ServiceTags": [
      "version=1.0",
      "secure=false"
    ],
    "Definition": {},
    "CreateIndex": 0,
    "ModifyIndex": 0
  }
  
  ........
}

就能看到consul調(diào)用http://xxx.xx.xxx.xxx:19008/actuator/health來(lái)檢查servoce健康,卻發(fā)現(xiàn)接口404,所以才會(huì)在頁(yè)面出現(xiàn)錯(cuò)誤。

我的測(cè)試環(huán)境是:

  • spring cloud Finch2ey.SR2

  • consul v1.4.3

bootstrap.yml配置是:

spring:
 cloud:
  consul:
   host: xxx.xxx.xxx.xxx
   port: 8500
   discovery:
    prefer-ip-address: true
    tags: version=1.0
    instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}
    healthCheckInterval: 15s
    health-check-url: http://${spring.cloud.client.ip-address}:${server.port}/actuator/health

顯然consul不能在這個(gè)服務(wù)上找到actuator/health接口,因?yàn)槲矣昧薬ctuator,所以service中應(yīng)該配置了spring cloud actuator。

經(jīng)過(guò)檢查發(fā)現(xiàn)沒(méi)有配置,所以actuator這個(gè)端點(diǎn)不能使用,加上這個(gè)包,問(wèn)題就解決了。

關(guān)于“spring cloud consul注冊(cè)的服務(wù)報(bào)critical錯(cuò)誤怎么辦”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI