全部產品
Search
文件中心

Application Real-Time Monitoring Service:通過SkyWalking上報Node.js應用資料

更新時間:Aug 08, 2024

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

前提條件

擷取存取點資訊

  1. 登入ARMS控制台,在左側導覽列單擊接入中心

  2. 服務端應用地區單擊SkyWalking卡片。

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

    說明

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

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

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

    image.png

背景資訊

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>,                     // 服務名稱,標識應用
      serviceInstance: <your-service-instance-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官網