1. 程式人生 > 實用技巧 >【轉載】Spring Cloud Gateway監控

【轉載】Spring Cloud Gateway監控

http://www.imooc.com/article/290822

歡迎加入Spring Cloud Gateway監控豪華套餐——

只要為Spring Cloud Gateway新增Spring Boot Actuator(spring-boot-starter-actuator)的依賴,並將gateway端點暴露,即可獲得若干監控端點,監控 & 操作Spring Cloud Gateway的方方面面。

management:
  endpoints:
    web:
      exposure:
        # 當然暴露'*' 更好啦..
        include: gateway

監控端點一覽表:

TIPS
以下所有端點都掛在/actuator/gateway/下面。
例如:routes的全路徑是/actuator/gateway/routes,以此類推。

IDHTTP MethodDescription
globalfilters GET 展示所有的全域性過濾器
routefilters GET 展示所有的過濾器工廠(GatewayFilter factories)
refresh POST【無訊息體】 清空路由快取
routes GET 展示路由列表
routes/{id} GET 展示指定id的路由的資訊
routes/{id}
POST【訊息體如下】 新增一個路由
routes/{id} DELETE【無訊息體】 刪除一個路由

其中,要想動態新增路由配置,只需傳送POST請求,訊息體如下:

{
  "predicates": [
    {
      "name": "Path",
      "args": {
        "_genkey_0": "/test"
      }
    }
  ],
  "filters": [
    {
      "name": "AddRequestHeader",
      "args": {
        "_genkey_0": "X-Request-Foo",
        "_genkey_1": "Bar"
      }
    },
    {
      "name": "PreLog",
      "args": {
        "_genkey_0": "a",
        "_genkey_1": "b"
      }
    }
  ],
  "uri": "https://www.itmuch.com",
  "order": 0
}

TIPS

技巧:訊息體其實是有規律的,你可以先在配置檔案中配置一個路由規則,然後訪問${GATEWAY_URL}/actuator/gateway/routes端點,每個路由id的對應段落,就是你的訊息體啦。

如使用POSTMAN測試,可配置如下:

操作完成後,可再次訪問${GATEWAY_URL}/actuator/gateway/routes端點,可以看到,新的路由已被動態添加了。

TIPS

如果沒有實時生效,使用refresh端點重新整理一下路由資訊即可。

本文首發

http://www.itmuch.com/spring-cloud-gateway/spring-cloud-gateway-actuator/