Can anyone guide me on how to mange AppDynamics Licenses. We have a shared environment, so I'm looking for ways to turn on/off the Licenses on JVMs when needed.
The AppDynamics Controller manages a pool of licenses.
When a new JVM is started with the -javaagent and -D agent terms, the agent will connect to the Controller and request a license. If a license is available, the JVM will come up instrumented and continue to report to the Controller until the JVM is shut down. The license will be released back into the pool within five minutes of the JVM shutdown.
If a license is not available, the JVM will startup instrumented, but the agent will not collect or publish any data, but will continue to ping the Controller every minute to determine if a license is available. If a license becomes available, the agent will turn itself back on and start reporting metrics to the Controller.
License Management Scope configuration allows you to assign licenses to specific applications and machines. Using scopes to configure licenses allows you to express and scale the configuration modules as required. https://docs.appdynamics.com/display/PRO45/License+Management has details.
Another customer set up a Web Service that's called from the app server startup script with App Name, Tier Name, Node Name. The Web Service determines if the target JVM should be instrumented based on a local lookup, If the JVM should be instrumented, the Web Service will return the agent terms, -javaagent and -D's, and the JVM will start up instrumented. If the JVM doesn't match the criteria for instrumentation, the Web Service returns nothing and the JVM starts up without instrumentation.
Hope these two possible approaches help you,
The AppDynamics Controller manages a pool of licenses.
When a new JVM is started with the -javaagent and -D agent terms, the agent will connect to the Controller and request a license. If a license is available, the JVM will come up instrumented and continue to report to the Controller until the JVM is shut down. The license will be released back into the pool within five minutes of the JVM shutdown.
If a license is not available, the JVM will startup instrumented, but the agent will not collect or publish any data, but will continue to ping the Controller every minute to determine if a license is available. If a license becomes available, the agent will turn itself back on and start reporting metrics to the Controller.
License Management Scope configuration allows you to assign licenses to specific applications and machines. Using scopes to configure licenses allows you to express and scale the configuration modules as required. https://docs.appdynamics.com/display/PRO45/License+Management has details.
Another customer set up a Web Service that's called from the app server startup script with App Name, Tier Name, Node Name. The Web Service determines if the target JVM should be instrumented based on a local lookup, If the JVM should be instrumented, the Web Service will return the agent terms, -javaagent and -D's, and the JVM will start up instrumented. If the JVM doesn't match the criteria for instrumentation, the Web Service returns nothing and the JVM starts up without instrumentation.
Hope these two possible approaches help you,
Thank you Brian, for your detailed explaination. Do we have any option on the controller with which I can manage the license usage for application.
Thanks,
Santhosh