Dynamic Languages (Node.JS, Python, PHP, C/C++, Webserver Agent)

cancel
Showing results for 
Search instead for 
Did you mean: 

Unable to bundle Node.js with Appdynamics using Webpack (broken dependencies?)

SOLVED
Highlighted
Creator

When trying to install the AppDynamics package for monitoring a Node.js application, our Webpack build process is not able to import a handful of dependencies. Specifically, the errors output are:

WARNING in ./node_modules/appdynamics/lib/core/agent.js 445:8-28
require.main.require is not supported by webpack.
@ ./node_modules/appdynamics/index.js 1:17-44
@ ./server.ts

ERROR in ./node_modules/appdynamics-zmq/lib/index.js
Module not found: Error: Can't resolve '../zmq' in '.../my-app/node_modules/appdynamics-zmq/lib'
@ ./node_modules/appdynamics-zmq/lib/index.js 24:10-27
@ ./node_modules/appdynamics-zmq/index.js
@ ./node_modules/appdynamics/lib/libproxy/proxy-transport.js
@ ./node_modules/appdynamics/lib/libproxy/libproxy.js
@ ./node_modules/appdynamics/lib/core/agent.js
@ ./node_modules/appdynamics/index.js
@ ./server.ts

ERROR in ./node_modules/appdynamics-libagent/index.js
Module not found: Error: Can't resolve './appd_libagent' in '.../my-app/node_modules/appdynamics-libagent'
@ ./node_modules/appdynamics-libagent/index.js 36:9-35
@ ./node_modules/appdynamics/lib/libagent/libagent-connector.js
@ ./node_modules/appdynamics/lib/core/agent.js
@ ./node_modules/appdynamics/index.js
@ ./server.ts

ERROR in ./node_modules/appdynamics-native/index.js
Module not found: Error: Can't resolve './appdynamics' in '.../my-app/node_modules/appdynamics-native'
@ ./node_modules/appdynamics-native/index.js 29:10-34
@ ./node_modules/appdynamics/lib/core/agent.js
@ ./node_modules/appdynamics/index.js
@ ./server.ts

ERROR in ./node_modules/appdynamics-protobuf/index.js
Module not found: Error: Can't resolve './protobuf_for_node' in '.../my-app/node_modules/appdynamics-protobuf'
@ ./node_modules/appdynamics-protobuf/index.js 29:10-40
@ ./node_modules/appdynamics/lib/libproxy/proxy-transport.js
@ ./node_modules/appdynamics/lib/libproxy/libproxy.js
@ ./node_modules/appdynamics/lib/core/agent.js
@ ./node_modules/appdynamics/index.js
@ ./server.ts

ERROR in ./node_modules/log4js/lib/appenders/hipchat.js
Module not found: Error: Can't resolve 'hipchat-notifier' in '.../my-app/node_modules/log4js/lib/appenders'
@ ./node_modules/log4js/lib/appenders/hipchat.js 3:14-41
@ ./node_modules/log4js/lib/appenders sync ^\.\/.*$
@ ./node_modules/log4js/lib/log4js.js
@ ./node_modules/appdynamics/lib/core/logger.js
@ ./node_modules/appdynamics/lib/core/agent.js
@ ./node_modules/appdynamics/index.js
@ ./server.ts

ERROR in ./node_modules/log4js/lib/appenders/loggly.js
Module not found: Error: Can't resolve 'loggly' in '.../node_modules/log4js/lib/appenders'
@ ./node_modules/log4js/lib/appenders/loggly.js 3:11-28
@ ./node_modules/log4js/lib/appenders sync ^\.\/.*$
@ ./node_modules/log4js/lib/log4js.js
@ ./node_modules/appdynamics/lib/core/logger.js
@ ./node_modules/appdynamics/lib/core/agent.js
@ ./node_modules/appdynamics/index.js
@ ./server.ts

ERROR in ./node_modules/log4js/lib/appenders/mailgun.js
Module not found: Error: Can't resolve 'mailgun-js' in '.../my-app/node_modules/log4js/lib/appenders'
@ ./node_modules/log4js/lib/appenders/mailgun.js 34:14-35
@ ./node_modules/log4js/lib/appenders sync ^\.\/.*$
@ ./node_modules/log4js/lib/log4js.js
@ ./node_modules/appdynamics/lib/core/logger.js
@ ./node_modules/appdynamics/lib/core/agent.js
@ ./node_modules/appdynamics/index.js
@ ./server.ts

ERROR in ./node_modules/log4js/lib/appenders/smtp.js
Module not found: Error: Can't resolve 'nodemailer' in '.../my-app/node_modules/log4js/lib/appenders'
@ ./node_modules/log4js/lib/appenders/smtp.js 4:13-34
@ ./node_modules/log4js/lib/appenders sync ^\.\/.*$
@ ./node_modules/log4js/lib/log4js.js
@ ./node_modules/appdynamics/lib/core/logger.js
@ ./node_modules/appdynamics/lib/core/agent.js
@ ./node_modules/appdynamics/index.js
@ ./server.ts

ERROR in ./node_modules/log4js/lib/appenders/slack.js
Module not found: Error: Can't resolve 'slack-node' in '.../node_modules/log4js/lib/appenders'
@ ./node_modules/log4js/lib/appenders/slack.js 2:12-33
@ ./node_modules/log4js/lib/appenders sync ^\.\/.*$
@ ./node_modules/log4js/lib/log4js.js
@ ./node_modules/appdynamics/lib/core/logger.js
@ ./node_modules/appdynamics/lib/core/agent.js
@ ./node_modules/appdynamics/index.js
@ ./server.ts

 

Our project is set up with:
- Webpack v4.29.0
- Node.js v11.0.0
- Appdynamics v4.5

The Appdynamics usage is at the top of our server file as:

// AppDynamics monitoring
require("appdynamics").profile({
controllerHostName: ***
controllerPort: 443,
controllerSslEnabled: true,
accountName: ****
accountAccessKey: ***
applicationName: ***
tierName: ***
nodeName: '01'
});

 

And our Webpack configuration is:

const path = require('path');
const webpack = require('webpack');

module.exports = {
entry: { server: './server.ts' },
resolve: { extensions: ['.js', '.ts'] },
target: 'node',
mode: 'development',
// this makes sure we include node_modules and other 3rd party libraries
externals: [/node_modules/],
output: {
path: path.join(__dirname, 'dist'),
filename: '[name].js'
},
module: {
rules: [{ test: /\.ts$/, loader: 'ts-loader' }]
},
plugins: [
]
};

 

So far we have tried downgrading the Webpack version, downgrading the Node environment to 10.15, and using other import methods for the AppDynamics package, but this seems like an issue internal to the Appdynamics library?

Has anyone experienced anything similar? Or had success using the Appdynamics node package with Webpack?

Tags (2)
Unable to bundle Node.js with Appdynamics using Webpack (broken dependencies?)
9 REPLIES 9
Highlighted
AppDynamics Team

Hi Cody,

 

Could you try adding "appdynamics" to the externals array? Let me know if that helps.

Thanks,
Kyle Furlong, Technical Lead (C++ and Dynamic Languages)




Found something helpful? Click the Accept as Solution button to help others find answers faster.
Liked something? Click the Thumbs Up button.
Highlighted
Creator

Thank you Kyle, that did the trick!

Highlighted

The other fix I see is as below:

ensure you're installing the 4.5.11 or higher version of the agent (@latest will work)

  1. install with npm install
  2. edit the package-lock.json file to remove the lines and sections that show jre / proxy
  3. "appdynamics-jre": "https://packages.appdynamics.com/nodejs/4.5.11.0/appdynamics-jre.tgz",
  4. "appdynamics-proxy": "https://packages.appdynamics.com/nodejs/4.5.11.0/appdynamics-proxy.tgz",
  5. "appdynamics-jre": { "version": "https://packages.appdynamics.com/nodejs/4.5.11.0/appdynamics-jre.tgz", "integrity": "sha512-hmnixIubwz8TBxQMe1/5QYwxmrCsnimYrZvNbvWZHOx2XifRnenzaPHw3avFCTvXgkTWt5lsY3UBIqlDYxTg3Q==" },
  6. "appdynamics-proxy": { "version": "https://packages.appdynamics.com/nodejs/4.5.11.0/appdynamics-proxy.tgz", "integrity": "sha512-1E+UxBrR4Vo0FAG0z+66RYx3dGZfb55W+6G/lTnDxt3U0TZUzA/rKo9PaQNDLKwogcgkraZYgBFYlVsvtvQy4w==" },
Highlighted
Creator
I’ve also had to do similar within our yarn.lock file, specifically when encountering:
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
error https://packages.appdynamics.com/nodejs/4.5.11.0/appdynamics-proxy.tgz: Integrity check failed for "appdynamics-proxy" (computed integrity doesn't match our records, got "sha1-wcdDKNB8QnI4D/YdYd+hAc6Ywy4=")

It seems like there is something about the node.js AppDynamics library which, at minimum, isn’t configured in a typical way. Maybe it’s just related to how they host their own children dependencies?

Hi All,

 

I am also facing a similar problem, all i am doing is adding the dependency as below in my package.json and it fails with the error shown below.

 

"axios": "^0.18.0",
"appdynamics": "^4.3.7",
"d3-axis": "^1.0.12",
"d3-geo": "^1.11.3",

Error:

./node_modules/appdynamics-zmq/lib/index.js
Module not found: Can't resolve '../zmq' in 'Drive:\myapp\mymodule\node_modules\appdynamics-zmq\lib'

Thank you!

Highlighted

can you tell m e external arrays means  plz ?


@Cody.Punper wrote:

Thank you Kyle, that did the trick!


 

Highlighted

4.5.16 agent has the fix for this . Tested

Highlighted
Explorer

I updated my externals array in webpack.base.babel.js as shown:

 

Screen Shot 2020-01-10 at 3.09.17 PM.png

 

 

That made webpack happy, but when I try to run the app it crashes and I see this in my console:

 

Screen Shot 2020-01-10 at 3.11.07 PM.png

 

I'm trying to evaluate AppDynamics, but I can't even install it properly. Please tell me what to do to fix this!

 

Thanks!

 

Highlighted
AppDynamics Team

Hi J.R.,

 

I believe externals is an array of module names, but more importantly you can skip it altogether with the following: https://stackoverflow.com/a/41063795

 

Let us know if that helps!

Thanks,
Kyle Furlong, Technical Lead (C++ and Dynamic Languages)




Found something helpful? Click the Accept as Solution button to help others find answers faster.
Liked something? Click the Thumbs Up button.