gateway网关过滤器设置链路到skywalking中,版本是8.15
时间: 2024-03-02 10:50:20 浏览: 69
分布式+链路追踪+skywaling+探针
好,您想要了解如何在Skywalking 8.15版本中设置Gateway网关过滤器以将链路信息发送到Skywalking中。下面是一些步骤,供您参考:
1. 首先,请确保您已经安装了Skywalking 8.15,并且已经将其集成到您的应用程序中。
2. 接下来,您需要在Gateway网关中设置过滤器。可以使用Spring Cloud Gateway或Zuul进行设置。这里以Spring Cloud Gateway为例。
3. 在您的Spring Cloud Gateway配置类中,创建一个Bean,用于创建Skywalking过滤器。以下是一个示例代码:
```
@Bean
public GlobalFilter customSkywalkingFilter() {
return new CustomSkywalkingFilter();
}
public class CustomSkywalkingFilter implements GlobalFilter, Ordered {
private static final Logger logger = LoggerFactory.getLogger(CustomSkywalkingFilter.class);
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
Span span = ContextManager.createEntrySpan("CustomSkywalkingFilter", new Tag[] {}, exchange.getRequest().getURI().getPath());
try {
return chain.filter(exchange).then(Mono.fromRunnable(() -> {
if (span != null) {
ContextManager.stopSpan();
}
}));
} catch (Throwable e) {
logger.error("CustomSkywalkingFilter catch exception:{}", e.getMessage());
if (span != null) {
ContextManager.stopSpan();
}
throw e;
}
}
@Override
public int getOrder() {
return -1;
}
}
```
4. 在Skywalking的配置文件中,您需要设置以下属性:
```
collector.backend_service=${skywalking.collector.backend_service}
```
其中`${skywalking.collector.backend_service}`是您Skywalking后端的地址。
5. 最后,启动您的应用程序,并使用浏览器或其他工具访问您的API网关。您应该可以在Skywalking的UI中看到您的API网关的链路信息。
希望这些步骤可以帮助您在Skywalking 8.15版本中设置Gateway网关过滤器以将链路信息发送到Skywalking中。
阅读全文