目錄

簡介

必要條件

需求

採用元件

背景資訊

設定

步驟 1:安裝代理

步驟 2:在代碼中嵌入配置

步驟 3:新增應用程式邏輯

驗證

步驟 1:啟動你的應用

步驟 2:轉到AppDynamics儀表板

疑難排解

相關資訊

需要進一步協助？

簡介

本文檔介紹如何安裝和配置AppDynamics Node.js代理以監視Node.js應用程式的效能度量。

必要條件

需求

要繼續安裝，請確保滿足以下條件：

- 熟悉Node.js和Express框架

- 工作應用程式或使用「相關資訊」部分的GitHub連結中提供的應用程式

- 對環境變數和應用結構的基本瞭解

- 訪問AppDynamics SaaS或本地控制器

- API訪問憑證（帳戶名稱、訪問金鑰、控制器主機/埠）

採用元件

本文件的資訊是以下列軟體版本為依據：

- Node.js v18.x

- AppDynamics Node.js代理24.x

- AppDynamics控制器（本地或SaaS）

- 「相關資訊」部分中有一個GitHub連結，該連結具有完整的應用程式

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

背景資訊

AppDynamics Node.js代理允許您檢測和監視Node.js應用程式。它捕獲業務事務資料、後端響應時間、記憶體使用率和CPU指標，並將其傳送到AppDynamics控制器。

要正確收集度量，必須在載入任何其他使用者應用程式模組之前初始化代理。代理通過HTTP(S)與控制器進行通訊，並要求控制器主機、埠和訪問金鑰詳細資訊才能正常工作。

設定

提示：請確保在配置代碼段中將所有變數替換為實際的AppDynamics Controller詳細資訊。

步驟 1:安裝代理

使用NPM安裝AppDynamics Node.js代理：

npm install appdynamics --save

步驟 2:在代碼中嵌入配置

將代碼新增到主檔案（app.js或index.js）的最頂部，在任何其他模組之前：

require("appdynamics").profile({

controllerHostName: 'ControllerURL',

controllerPort: ControllerPort,

controllerSslEnabled: true,  // Set to true if controllerPort is SSL

accountName: 'accountName',

accountAccessKey: 'accountAccessKey', // required

applicationName: 'Hello_World_NodeJS', // Change the name of application

tierName: 'Hello_World_NodeJS_Tier', // Change the name of tier

nodeName: 'Hello_World_NodeJS_Node', //// Change the name of node

});

步驟 3:新增應用程式邏輯

const express = require('express');

const app = express();

const port = 3000;

app.get('/', (req, res) => {

res.send('Hello World!');

});

app.listen(port, () => {

console.log(`Example app listening on port ${port}`);

});

驗證

步驟 1:啟動你的應用

node app.js

- 在應用程式上應用負荷

步驟 2:轉到AppDynamics儀表板

- 登入到AppDynamics控制器

- 導航到Applications > Hello_World_NodeJS

- 在5分鐘內查詢指標和流圖

疑難排解

問題

可能起因

解析

應用未顯示在儀表板中

在應用代碼之前未初始化代理

確保require('appdynamics')是第一行

代理安裝失敗

缺少許可權、沒有Internet或不相容的作業系統

使用提升的許可權運行，或者確保使用受支援的平台

401訪問錯誤

accountAccessKey或accountName不正確

從AppDynamics Controller中仔細檢查憑據

相關資訊

AppDynamics文檔

安裝Node.js代理

GitHub節點.js AppDynamics演示

需要進一步協助？

如果您遇到問題或遇到問題，請建立包含以下詳細資訊的asupport票證：

- 錯誤詳細資訊或螢幕截圖：提供特定錯誤消息或問題的螢幕截圖。

- 使用的命令：指定發生問題時正在運行的確切命令。

- 節點代理日誌：如果生成，則從/tmp/appd/*/logs/提供代理日誌。