以Jeager方式接入 在监控Node.js应用之前,您需要通过客户端将应用数据上报至APM服务端。本文介绍了如何通过Jaeger将Node.js应用接入APM。 前提条件 完成vpce接入。 接入步骤 1.引入相关依赖。 2.查看接入点信息。 应用列表的接入指引会根据您所在资源池提供“通过 HTTP 上报数据”和“通过 gRPC 上报数据”的ENDPOINT(天翼云vpc网络接入点)、鉴权TOKEN信息。 3.server 端上报示例。 请将url和token替换成第2步中获取的接入点信息。 编写以下 server 端代码,保存为 nodejsdemoserverjaeger.js 文件 plaintext // nodejsdemoserverjaeger.js const initTracer require('jaegerclient').initTracer const config { serviceName: 'nodejsdemoserverjaeger', sampler: { type: 'const', param: 1, }, reporter: { logSpans: true, collectorEndpoint: ' ', username: 'apm', password: ' ', }, } const tracer initTracer(config) const express require('express') const app express() const port 3000 const { opentracing } require('jaegerclient') app.all('', (req, res, next) > { req.span tracer.startSpan('httpserver', { tags: { [opentracing.Tags.HTTPMETHOD]: req.method, [opentracing.Tags.HTTPURL]: req.url, [opentracing.Tags.SPANKIND]: opentracing.Tags.SPANKINDRPCSERVER, }, }) next() }) app.get('/', (req, res) > { console.log('received request') const span req.span span.log({ event: 'timestamp', value: Date.now(), }) span.finish() res.send('Hello World!') }) app.listen(port, () > { console.log(server running at }) 运行 server 端代码。 4.client端上报示例。 编写以下 client 端代码,保存为 nodejsdemoclientjaeger.js 文件 plaintext // nodejsdemoclientjaeger.js import('nodefetch').then(async ({ default: fetch }) > { const response await fetch(' const data await response.text() console.log(data) }) 运行 client 端代码。 5.通过以上步骤即可在控制台查看接入的Node.js应用。
来自: