我正在运行一些微服务实例,它们充当边缘路由器并具有 @EnableZuulProxy 注释。我编写了许多过滤器,它们控制进入系统的请求流。
我想做的是从幕后发生的事情中获取电路统计数据。我看到有一个底层的 netflix 类 DynamicServerListLoadBalancer 有一些我想看到的 sts。是否可以获取它的实例并在特定时间获取它的统计信息>
我可以看到它有这样的东西:(我格式化了我在日志中看到的日志语句)
c.n.l.DynamicServerListLoadBalancer : DynamicServerListLoadBalancer for client authserver initialized:
DynamicServerListLoadBalancer:{
NFLoadBalancer:
name=authserver,current
list of Servers=[127.0.0.1:9999],
Load balancer stats=
Zone stats: {
defaultzone=[
Zone:defaultzone;
Instance count:1;
Active connections count: 0;
Circuit breaker tripped count: 0;
Active connections per server: 0.0;]
},
Server stats:
[[
Server:127.0.0.1:9999;
Zone:defaultZone;
Total Requests:0;
Successive connection failure:0;
Total blackout seconds:0;
Last connection made:Wed Dec 31 19:00:00 EST 1969;
First connection made: Wed Dec 31 19:00:00 EST 1969;
Active Connections:0;
total failure count in last (1000) msecs:0;
average resp time:0.0; 9
0 percentile resp time:0.0;
95 percentile resp time:0.0;
min resp time:0.0;
max resp time:0.0;
stddev resp time:0.0
]]
}
ServerList:org.springframework.cloud.netflix.ribbon.eureka.DomainExtractingServerList@5b1b78aa
所有这些对于获取和采取行动都是有价值的。大多数情况下,行为是将使用启发式方法反馈给系统。