すべてのプロダクト
Search
ドキュメントセンター

Application Real-Time Monitoring Service:SkyWalking を使用して Node.js アプリケーションデータを送信する

最終更新日:Feb 27, 2025

SkyWalking を使用してアプリケーションのイベントトラッキングを行い、トレースデータを Managed Service for OpenTelemetry コンソールに送信すると、Managed Service for OpenTelemetry はアプリケーションの監視を開始します。その後、アプリケーショントポロジー、トレース、異常トランザクション、低速トランザクション、SQL 分析など、アプリケーションのモニタリングデータを表示できます。このトピックでは、skywalking-backend-js を使用して自動イベントトラッキングを実行し、Node.js アプリケーションデータを送信する方法について説明します。

前提条件

エンドポイントを取得する

  1. ARMS コンソール にログインします。左側のナビゲーションウィンドウで、[統合センター] をクリックします。

  2. 統合センターページで、[サーバーサイドアプリケーション] セクションの [skywalking] カードをクリックします。

  3. [skywalking] パネルで、[統合の開始] タブをクリックし、データを送信するリージョンを選択します。

    説明

    初めてリージョンにアクセスすると、リソースが自動的に初期化されます。

  4. [接続タイプ] パラメーターを設定し、エンドポイントをコピーします。

    サービスが Alibaba Cloud にデプロイされており、選択したリージョンにある場合は、このパラメーターを [alibaba Cloud VPC ネットワーク] に設定することをお勧めします。それ以外の場合は、このパラメーターを [パブリックネットワーク] に設定します。

    image.png

背景情報

SkyWalking は、中国で開発された一般的なアプリケーションパフォーマンス監視 (APM) サービスです。SkyWalking は、マイクロサービス、クラウドネイティブアーキテクチャ、および Docker、Kubernetes、Mesos などのコンテナー向けに設計されています。SkyWalking は、分散トレーシングシステムでもあります。

skywalking-backend-js は、SkyWalking の公式 Node.js エージェントリポジトリであり、Node.js アプリケーションに接続して Node.js アプリケーションを監視できます。 skywalking-backend-js を使用すると、MySQL、Redis、RabbitMQ など、複数のサードパーティリポジトリを自動的にイベントトラッキングできます。

説明

skyapm-nodejs は、公式 Node.js エージェントリポジトリの以前のバージョンであり、廃止されています。 Node.js アプリケーションを監視するには、公式 Node.js エージェントリポジトリの最新バージョンである skywalking-backend-js を使用することをお勧めします。

次の表に、skywalking-backend-js を使用して監視できるサードパーティリポジトリを示します。

リポジトリ

プラグイン

組み込み HTTP および HTTPS モジュール

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

サンプルコード

サンプルコードリポジトリの詳細については、GitHub の「skywalking demo」をご参照ください。

SkyWalking を使用して Node.js アプリケーションをイベントトラッキングする

  1. 次のコマンドを実行して、SkyWalking Node.js エージェントをインストールします。

    npm install --save skywalking-backend-js
  2. Node.js プロジェクトで SkyWalking Node.js エージェントを設定します。

    const {default: agent} = require("skywalking-backend-js");
    agent.start({})
  3. SkyWalking Node.js エージェントのパラメーターを設定します。

    パラメーターを設定して SkyWalking Node.js エージェントを Node.js プロジェクトにハードコードするか、環境変数を定義することで SkyWalking Node.js エージェントを設定できます。

    パラメーターを設定して SkyWalking Node.js エージェントを Node.js プロジェクトにハードコードする

    agent.start({
      serviceName: <your-service-name>,                     // サービス名。アプリケーションを識別するために使用されます。
      collectorAddress: <collector-backend-address>,        // コレクターのエンドポイント。
      authorization: <collector-token>                      // コレクターへのアクセスに使用されるトークン。
    });

    環境変数を定義することで SkyWalking Node.js エージェントを設定する

    # <endpoint>: コレクターのエンドポイント。<token>: コレクターの認証トークン。<service-name>: アプリケーション名。
    
    export SW_AGENT_COLLECTOR_BACKEND_SERVICES=<endpoint>
    export SW_AGENT_AUTHENTICATION=<token>
    export SW_AGENT_NAME=<service-name>
  4. アプリケーションを再起動します。