在 Docker 容器中安装 Node.js 代理
以下步骤概述了构建、配置和部署已集成 APM Insight 的 Docker 化 Node.js 应用程序的过程。
对容器进行插桩
通过对现有 Dockerfile 进行最少量的修改,即可使用我们的 Node.js 代理启用应用程序监控。您可以通过启动设置了环境变量的更新后 Docker 镜像来配置代理。
安装 apminsight 包
- 将 apminsight 添加到 package.json 文件:
您只需将 apminsight 包添加到应用程序的 package.json 文件中。
"dependencies": {
"apminsight": "latest",
} - 在 Dockerfile 中添加安装命令:
如果您不想对应用程序中与 Node.js 代理相关的任何内容进行更改,只想修改 Dockerfile,则可以在 Dockerfile 中添加以下行来安装代理。
RUN npm install apminsight --silent
- 将 apminsight 添加到 package.json 文件:
- 您可以按照以下任意步骤加载 Node.js 代理:
- 在启动脚本中包含 require 语句,或者编辑 ENTRYPOINT 以包含 apminsight 模块。
node -r apminsight my-start-file.js
- 在 Node.js 应用程序启动文件的第一行、所有其他 require 语句之前,包含以下代码。
require('apminsight');Note对于 Next.js,请使用 @apminsight/next 替代 apminsight。
- 在启动脚本中包含 require 语句,或者编辑 ENTRYPOINT 以包含 apminsight 模块。
添加配置值
您可以创建文件并将配置值添加到其中,也可以将配置值设置为环境变量。
- 创建文件并添加配置值:
创建一个名为 apminsightnode.json 的新文件,并将其复制到容器中应用程序启动的目录。
将以下代码片段添加到文件中:
如果您使用了代理,请添加以下代码片段:{"licenseKey" : "<license-key>",
"appName" : "<application-name>",
"port" : <application-port>}
{"licenseKey" : "<license-key>",
"appName" : "<application-name>",
"port" : <application-port>,
"proxyServerHost" : "<proxy-server>",
"proxyServerPort" : <proxy-port>,
"proxyAuthUser" : "<proxy-user-name>",
"proxyAuthPassword" : "<proxy-password>"} - 将配置值设置为环境变量:
您可以使用以下键将配置值设置为环境变量:
docker run -e APMINSIGHT_LICENSE_KEY="<license-key>" -e APMINSIGHT_APP_NAME="<application-name>" -e APMINSIGHT_APP_PORT="<application-port>" YOUR_IMAGE_NAME:latest
端口号为可选项。如果未提供,Site24x7 将自动检测应用程序正在运行的端口号。
- 创建文件并添加配置值:
- 照常构建您的 Docker 镜像并启动容器。
相关文章
如何在 Docker 容器中安装各种 APM Insight 代理
Java | .NET | PHP | Python
如何在 Kubernetes 环境中安装各种 APM Insight 代理
Java | .NET | PHP | Node.js | Python
