更新时间:2025-10-27 GMT+08:00
分享

Node.js语言接入

限制条件

使用node.js 14及以上版本。

环境准备

  1. 准备插件/工具:node、npm。
  2. 安装,命令如下:
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
    \. "$HOME/.nvm/nvm.sh"
    nvm install 18
  3. 环境验证,命令如下:
    node -v  
    npm -v

示例demo

使用Express框架实现掷骰子接口。

  1. 初始化项目,命令如下:
    npm init -y
  2. 安装项目依赖,命令如下:
    npm install express
  3. 编写业务代码。创建app.js文件,内容如下:
    const express = require('express');
    const PORT = parseInt("8080");
    const app = express();
    
    app.get('/rolldice', (req, res) => {
      res.send(getRandomNumber(1, 6).toString());
    });
    
    function getRandomNumber(min, max) {
      return Math.floor(Math.random() * (max - min + 1) + min);
    }
    
    app.listen(PORT, () => {
      console.log(`Listening for requests on http://localhost:${PORT}`);
    });
  4. 运行,命令如下:
    node app.js & 
    curl http://localhost:8080/rolldice

操作步骤

  1. 登录APM控制台
  2. 单击左侧,选择“管理与监管 > 应用性能管理 APM”,进入APM服务页面。
  3. 在左侧导航栏中选择“应用监控 > 应用列表”。
  4. 单击“接入应用”,进入接入应用页面。
  5. 选择“区域”和“应用”。单击“创建应用”,弹出“创建应用”弹窗,可以具体操作参见创建应用
  6. “接入方式”选择OpenTelemetry。
  7. “服务端语言”选择Node.js。
  8. 数据接入,相关参数与操作步骤如下。

    表1 参数说明

    参数

    说明

    是否必填

    应用名称

    应用显示的名称。一个应用代表一个逻辑单元,是一个全局概念,各个region都可以看到相同的应用信息,比如一个租户下面比较独立的功能模块可以定义为一个应用。

    必填

    组件名称

    组件名称,代表一个组件,需要使用英文字符开头。同一个应用下,组件名称不能重复。一个组件可以包含多个环境。不能重复,如果要重复,使用instanceName区分。

    必填

    环境名称

    环境名称,代表一个应用在一个地方的部署。一个应用程序根据配置不同可以部署多个环境,比如测试环境,现网环境。每个环境都在一个region部署,具有唯一的region属性。该参数可以为空,代表默认环境。

    选填

    • 非侵入式接入
      1. 安装依赖,命令如下:
        npm install @opentelemetry/sdk-node \
          @opentelemetry/api \
          @opentelemetry/auto-instrumentations-node \
          @opentelemetry/sdk-metrics \
          @opentelemetry/sdk-trace-node
      2. 对接OpenTelemetry,命令如下:
        export OTEL_TRACES_EXPORTER="otlp" 
        export OTEL_EXPORTER_OTLP_PROTOCOL='grpc' 
        export OTEL_EXPORTER_OTLP_ENDPOINT="http://**.**.**.**:4317" 
        export OTEL_NODE_RESOURCE_DETECTORS="env,host,os" 
        export OTEL_SERVICE_NAME="应用名称.组件名称.环境名称" 
        export OTEL_EXPORTER_OTLP_HEADERS="Authentication=He**i0"  
        export NODE_OPTIONS="--require @opentelemetry/auto-instrumentations-node/register"
      3. 启动,命令如下:
        node app.js &
        curl http://localhost:8080/rolldice
      4. 在APM控制台链路追踪中查看应用的监控数据。详细操作参见指标
    • 非侵入式接入

      参考 官方网站

相关文档