Click the Start a free trial link to start a 15-day SaaS trial of our product and join our community as a trial user. If you are an existing customer do not start a free trial.
AppDynamics customers and established members should click the sign in button to authenticate.
We have a Java agent installation included in our host images. What are the best practices for creating an clonable agent install that can be used dynamically start up the agent on different? Should we use ENV vars or Java system properties with a startup script?
What if we need to update the agent? Are there references to 'other' files that need to be considered? Like init.d startup scripts? The documentation just says archive the old and copy in the new. This seems awfully simplistic. Are there other dependencies that should be taken into consideration that may not be documented?
You will have to update the controller-info.xml file that has the information about your controller if you are using that file.
Also, if you are using ssl and have used your self signed cert then you may also have to update that.
Other than that, it is simple, yes !
Best practice would be to put any "static" content in the controller-info.xml file and any "dynamic" content as environment variables or system properties that can be managed/configured at deployment time. If all the agent properties you use are available as either environment variables or system properties, there is nothing stopping you from completly managing them via the environment variables or system properties if you have means to do so as part of your provisioning/deployment process. Also keep in mind there is "agent.properties" file that can be utilized as well.
For agent upgrades, any setting you have put into the config files will need to be "merged" or reconciled with the new version when you drop that in. If only using environment variables or system properties, then, I think you probably don't have much to worry about in this aspect :)
Only thing that comes to my mind is the path to javaagent.jar
like if you are using /opt/appdynamics/javaagent_home/verxxx/javaagent.jar then you will have to update that.
The other way is to create a sym link to verXXX directory each time you install a new version and use this symlink in the path to javaagent.jar in your configurations.