全部產品
Search
文件中心

Managed Service for OpenTelemetry:通過SkyWalking上報Node.js應用資料

更新時間:Mar 13, 2025

通過SkyWalking為應用埋點並上報鏈路資料至Managed Service for OpenTelemetry後,Managed Service for OpenTelemetry即可開始監控應用,您可以查看應用拓撲、調用鏈路、異常事務、慢事務和SQL分析等一系列監控資料。本文介紹如何使用skywalking-backend-js進行自動埋點並上報應用資料。

前提條件

擷取存取點資訊

新版控制台

  1. 登入可觀測鏈路 OpenTelemetry 版控制台,在左側導覽列單擊接入中心

  2. 開源架構地區單擊SkyWalking卡片。

  3. 在彈出的SkyWalking面板中選擇資料需要上報的地區。

    說明

    初次接入的地區將會自動進行資源初始化。

  4. 選擇串連方式,然後複製存取點資訊。

    若您的服務部署在阿里雲上,且所屬地區與選擇的接入地區一致,推薦使用阿里雲內網方式,否則選擇公網方式。

    image.png

舊版控制台

  1. 登入可觀測鏈路 OpenTelemetry 版控制台

  2. 在左側導覽列單擊叢集配置,然後在右側頁面單擊存取點資訊頁簽。

  3. 在頁面頂部選擇需要接入的地區,然後在叢集資訊地區開啟顯示Token開關。

  4. 用戶端採集工具地區單擊SkyWalking

    相關資訊列中,擷取存取點資訊。

    SkyWalking存取點資訊

    說明

    如果應用部署於阿里雲生產環境,則選擇阿里雲VPC網路存取點,否則選擇公網存取點。

背景資訊

SkyWalking是一款廣受歡迎的國產APM(Application Performance Monitoring,應用效能監控)產品,主要針對微服務、Cloud Native和容器化(Docker、Kubernetes、Mesos)架構的應用。SkyWalking的核心是一個分布式追蹤系統。

Skywalking-backend-js是SkyWalking的Node.js Agent官方庫,可以通過接入skywalking-backend-js實現對Node.js應用的監控,skywalking-backend-js支援MySQL、Redis、RabbitMQ等多種第三方庫的自動埋點。

說明

SkyAPM-nodejs是舊版的官方庫,已棄用,請使用最新的官方庫skywalking-backend-js監控Node.js應用。

展開查看支援監控的第三方庫

外掛程式名

built-in http and https module

http / https

Express

express

Axios

axios

MySQL

mysql

MySQL

mysql2

PostgreSQL

pg

pg-cursor

pg-cursor

MongoDB

mongodb

Mongoose

mongoose

RabbitMQ

amqplib

Redis

ioredis

AWS2DynamoDB

aws-sdk

AWS2Lambda

aws-sdk

AWS2SNS

aws-sdk

AWS2SQS

aws-sdk

樣本Demo

樣本Demo倉庫地址:SkyWalking Demo

用SkyWalking為Node.js應用埋點

  1. 執行以下命令安裝skywalking-nodejs版Agent探針。

    npm install --save skywalking-backend-js
  2. 專案引入Skywalking-NodeJS Agent。

    const {default: agent} = require("skywalking-backend-js");
    agent.start({})
  3. 配置Agent參數。

    SkyWalking的Node.js版Agent支援寫入程式碼和環境變數兩種參數配置方式。

    寫入程式碼

    agent.start({
      serviceName: <your-service-name>,                     // 服務名稱,標識應用
      collectorAddress: <collector-backend-address>,        // 資料上報collector存取點地址
      authorization: <collector-token>                      // 存取點token
    });

    環境變數配置參數

    # <endpoint>: 存取點地址;<token>: 存取點鑒權token;<service-name>: 應用程式名稱。
    
    export SW_AGENT_COLLECTOR_BACKEND_SERVICES=<endpoint>
    export SW_AGENT_AUTHENTICATION=<token>
    export SW_AGENT_NAME=<service-name>
  4. 重新啟動應用。

相關文檔

SkyWalking官網