首页 > 解决方案 > Spring Cloud Gateway Netty 指标

问题描述

我们在生产环境中使用 Spring Cloud Gateway,并尝试公开 Netty 连接池指标。我找不到在网关中启用 Netty 连接指标的配置。我认为公开指标的唯一方法是覆盖 GatewayHttpClient 类中的 ConnectionProvider。是否有任何替代方法可用于公开 Netty 指标而无需覆盖网关内部代码?

标签: spring-bootspring-cloud-gatewayreactor-netty

解决方案


这是因为HttpClient创建时Spring Cloud Gateway没有启用metric,可以HttpClient这样修改:</p>

@Component
public class HttpClientConfig implements BeanPostProcessor {

    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        if (bean instanceof HttpClient) {
            HttpClient client = (HttpClient) bean;
            return client.metrics(true, s -> s);

        }
        return bean;
    }
}

推荐阅读