通過SkyWalking為應用埋點並上報鏈路資料至Managed Service for OpenTelemetry後,Managed Service for OpenTelemetry即可開始監控應用,您可以查看應用拓撲、調用鏈路、異常事務、慢事務和SQL分析等一系列監控資料。本文介紹如何使用skywalking-backend-js進行自動埋點並上報應用資料。
前提條件
背景資訊
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應用。
樣本Demo
樣本Demo倉庫地址:SkyWalking Demo
用SkyWalking為Node.js應用埋點
執行以下命令安裝skywalking-nodejs版Agent探針。
npm install --save skywalking-backend-js
專案引入Skywalking-NodeJS Agent。
const {default: agent} = require("skywalking-backend-js"); agent.start({})
配置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>
重新啟動應用。