UniAgent部署(仅Linux支持)

当Linux服务器上存在多种语言的应用时,推荐使用UniAgent安装。

安装路径固定为/opt/tingyun-oneagent,安装步骤请参见UniAgent部署说明

UniAgent安装包内集成了Java/PHP/.NET Core/Node.js/Python 多个语言的探针,安装后不需要手工修改应用的配置文件,所有嵌入探针的动作均由UniAgent自动完成,并且可以自动监控Docker容器内的应用。

UniAgent安装完毕后,如需监控Node.js应用,需手工开启/opt/tingyun-oneagent/conf/interceptor.conf内Node.js监控开关nodejs_enabled=true

sudo sed -i -e "s/nodejs_enabled.*/nodejs_enabled=true/" /opt/tingyun-oneagent/conf/interceptor.conf

然后重启Node.js应用即可

普通探针部署

  1. 进入应用根目录并执行安装。

    cd <app root dir> 
    npm install tingyun
    
  2. 执行配置命令,填写应用名和授权序号。

    node node_modules/tingyun/setup.js
    

    完成之后会在应用目录下生成探针配置文件tingyun.json

  3. 修改应用的主文件,将 require('tingyun') 添加到文件首行。

    如果您的package.json中没有设置main参数,并且应用根路径下没有index.js文件,那么需要手动将require('tingyun')添加到主文件的首行。

    如果是windows系统,setup.js脚本添加require('tingyun') 到文件首行会失败,需要手动将require('tingyun')添加到主文件的首行。

使用pkg打包为可执行文件

  1. 进入应用根目录并执行安装。

    cd <app root dir> 
    npm install tingyun
    
  2. require('tingyun') 添加到应用的主文件首行。

  1. 由于探针引入了动态require的js,所以需要修改package.js,添加scripts引用

    示例:

     {
       "name": "demo",
       "version": "1.0.0",
       "description": "this is a demo",
       "main": "index.js",  
       "bin": "index.js",
       "pkg": {
         "scripts": ["node_modules/tingyun/parsers/wrappers/**/*.js"],
         "targets": [ "node18-win-x64" ],
         "outputPath": "."
       },
       "dependencies": {
         "express": "^4.18.2",
         "mysql": "^2.18.1",
         "tingyun": "^3.0.4"
       }
     }
    
    • bin指定项目入口文件,按pkg使用文档设置
    • pkg.scripts指定需要强制加入的js, 支持glob格式路径, node_modules/tingyun/parsers/wrappers/**/*.js 是探针动态导入的模块路径
    • 其他配置根据实际项目需要设置
  2. 重新打包

     pkg package.json
    

    打包时会出现警告信息,是正常现象

     Warning Cannot resolve 'path' node_modules\tingyun\util\shimmer.js
     Dynamic require may fail at run time, because the requested file
     is unknown at compilation time and not included into executable.
     Use a string literal as an argument for 'require', or leave it
     as is and specify the resolved file name in 'scripts' option.
    
  3. 发布时,需要将探针配置文件tingyun.json放在和可执行文件同一文件夹内

    探针配置文件tingyun.json模板:

    {
       "agent_log_level": "info",
       "app_name": "demo",
       "license_key": "9OgQXob4VGGFFYcm",
       "collectors": "127.0.0.1:7665",
       "ssl": false,
       "agent_log_file_name": "tingyun_agent.log",
       "audit_mode": false
     }
    

    其中的app_name,license_key,collectors需要根据项目需要动态修改

    日志文件路径不需要修改,日志输出到可执行文件当前目录下

results matching ""

    No results matching ""