我正在 Istio 中设置 Jager 跟踪,但我不知道应该如何传播 NestJS 中所需的标头。
我已经在文档中搜索了每个请求的注入,但无法真正理解它。
需要传播的标头如下:
x-request-id
x-b3-traceid
x-b3-spanid
x-b3-parentspanid
x-b3-sampled
x-b3-flags
x-ot-span-context
我使用hpropagate npm 包让它在我的 Istio 集群上运行。它负责从传入请求中提取跟踪标头并将它们附加到任何出站请求的所有繁重工作。
安装
npm install hpropagate
用法
在创建 Nest 应用程序之前main.ts
,导入包并调用函数(使用您需要的任何默认覆盖)。
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import hpropagate from 'hpropagate';
async function bootstrap() {
hpropagate({
setAndPropagateCorrelationId: false,
});
const app = await NestFactory.create(AppModule);
await app.listen(3000);
}
bootstrap();
有关更多信息,请查看这篇文章:https ://medium.com/ww-engineering/headers-propagation-with-hpropagate-27de8347f76a