如何通过 Rest API 而不是 eureka dashboard 检查在 Eureka 服务器中注册的所有服务的健康状态?

How to check health status of all services registered in Eureka server through Rest API instead of eureka dashboard?

我的要求是我想通过 Rest API 检查在我的 Eureka 服务器中注册的所有 Web 服务的健康状态,而不是像下面这样的 Eureka 仪表板,因为我的一个终端应用程序想要消耗健康在 Eureka 中注册的所有 Web 服务的状态。

Health : {
 service-1 : UP,
 service-2 : UP,
 service-3 : DOWN,
}

有什么方法可以调用 eureka 端点并通过调用 Eureka 服务器端点

以 json 格式接收健康状态
https://eureka-server.com/getHealth

是否应该 return 在 JSON 响应中注册服务运行状况?

您可以从 /eureka/apps API 检索健康信息。 API 的结构如下:

{
  "applications": {
    "application": [{
      "name": "service-1",
      "instance": [{
        "hostName": "server-1",
        "app": "service-1",
        "status": "UP"
      }]
    }, {
      "name": "service-2",
      "instance": [{
        "hostName": "server-1",
        "app": "service-2",
        "status": "DOWN"
      }]
    }]
  }
}

因此,如您所见,API returns 一个应用程序列表,每个应用程序都有一个实例列表,其中可以有一个状态(例如 "UP" ).

注(1):为了清楚起见,我省略了一些与APIreturns无关的数据。

注(2):默认情况下,APIreturns中的数据在XML-format中。如果喜欢JSON,可以设置Accept: application/jsonheader.