通过 Jaeger 协议接入 Node.js 应用

最近更新时间:2024-05-29 17:15:22

我的收藏
本文将为您介绍如何使用 Jaeger 原始 SDK 上报 Node.js 应用数据。

操作步骤

步骤1:获取接入点和 Token

1. 登录 腾讯云可观测平台 控制台。
2. 在左侧菜单栏中选择应用性能监控 > 应用监控,单击接入应用
3. 在右侧弹出的数据接入抽屉框中,单击 Node 语言。
4. 接入 Node 应用页面,选择您所要接入的地域以及业务系统
5. 选择接入协议类型Jaeger
6. 上报方式选择您所想要的上报方式,获取您的接入点Token
说明:
内网上报:使用此上报方式,您的服务需运行在腾讯云 VPC。通过 VPC 直接联通,在避免外网通信的安全风险同时,可以节省上报流量开销。
外网上报:当您的服务部署在本地或非腾讯云 VPC 内,可以通过此方式上报数据。请注意外网通信存在安全风险,同时也会造成一定上报流量费用。

步骤2:安装依赖

在控制台使用 npm 安装依赖:
npm i jaeger-client

步骤3:引入 SDK 并且进行数据上报

1. 引入 SDK,示例如下:
const initTracer = require('jaeger-client').initTracer;

// jaeger 配置
const config = {
serviceName: 'service-name', // 服务名称,根据业务自行修改
sampler: {
type: 'const',
param: 1,
},
reporter: {
logSpans: true,
collectorEndpoint: 'http://ap-guangzhou.apm.tencentcs.com:14268/api/traces', // 接入点,此前在应用性能监控获取的接入点多了 api/traces
},
};

const options = {
tags: {
token: 'Vds************CrKck' // 业务申请的 token
},
};
说明
Node 使用 API 直接进行数据上报,因此不需要启动 Jaeger agent。接入点选择自己对应的网络环境,并且在后面加入 /api/traces 后缀即可。
2. 进行数据上报 ,示例如下:
// 初始化 tracer 实例对象
const tracer = initTracer(config, options);

// 初始化 span 实例对象
const span = tracer.startSpan('spanStart');

// 当前服务为 server
span.setTag('span.kind', 'server');

// 设置标签(可选,支持多个)
span.setTag('tagName', 'tagValue');

// 设置事件(可选,支持多个)
span.log({ event: 'timestamp', value: Date.now() });

// 标记Span结束
span.finish();