SkyWalking を使用してアプリケーションのイベントトラッキングを行い、トレースデータを Managed Service for OpenTelemetry コンソールに送信すると、Managed Service for OpenTelemetry はアプリケーションの監視を開始します。その後、アプリケーショントポロジー、トレース、異常トランザクション、低速トランザクション、SQL 分析など、アプリケーションのモニタリングデータを表示できます。このトピックでは、skywalking-backend-js を使用して自動イベントトラッキングを実行し、Node.js アプリケーションデータを送信する方法について説明します。
前提条件
背景情報
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 を使用することをお勧めします。
サンプルコード
サンプルコードリポジトリの詳細については、GitHub の「skywalking demo」をご参照ください。
SkyWalking を使用して Node.js アプリケーションをイベントトラッキングする
次のコマンドを実行して、SkyWalking Node.js エージェントをインストールします。
npm install --save skywalking-backend-jsNode.js プロジェクトで SkyWalking Node.js エージェントを設定します。
const {default: agent} = require("skywalking-backend-js"); agent.start({})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>アプリケーションを再起動します。
