cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Knowing Agent Versions on Application Side

Recently, I am planning to standardize our process on agent installation of AppDynamics. The current process would be to extract the zip file to a specific folder (/opt/appdynamics for Machine Agent). Once the Machine Agents are reported running, we can view the machine agent version on our Controller. 

 

Thinking of the long term, there might be times when we need to update the agents deployed on the target hosts. Are there any ways to check the version of the machine agent deployed on the server? I'm thinking of a text file they can open to see the current version of the machine agent deployed.

3 REPLIES 3

Hi Everyone!

 

For those who come (and will come) across with this question, here are the 2 things I found:

 

1. Inside the jar file (pretty-much like a compiled archive), you check the manifest file (MANIFEST.MF) inside /META-INF folder. Inside the manifest file contains the Machine Agent Version. Personally I do not recommend this as this is prone to editing might mangle the packaging of the JAR file and might cause the machine agent to fail. However, if you do not remove or update files inside the jar, there should be no problem.

 

2. Probably this is the easiest way to check Java agent, however, this involves running an executable (JAR) rather than opening a file. On the root directory of machine agent, I tried running the following command:

 

java -jar machineagent.jar

 

Which then produced the following results:

 

Using Java Version [1.8.0_201] for Agent
Using Agent Version [Machine Agent v20.6.0-2676 GA compatible with 4.4.1.0 Build Date 2020-06-23 08:07:30]

 

The second one is probably the safest way however, it involves running the agent itself. If you are tight on resources, you can press Ctrl + C right after the version shows.

 

I also found the analytics agent version for Machine agent. Under /monitors/analytics-agent, it is possible to see the version of the analytics agent through the version text files.

 

For those who have found an alternative way of checking the machine agent version, all of your inputs are welcome and can help other teams with their analysis. Thank you!

I don't know if it's still relevant to you or how accurate it will be but I noticed in C:\Program Files\AppDynamics\machineagent\lib

there is a file called api-* which has the current version in it's name.

Nilton.Castillo
Creator

I found the jar trick stable from versions 4.5 onwards, so I'm posting what I'm using: 

APPD_PATH=$(ls -d /opt/appdynamics 2>/dev/null || ls -d /appl/appdynamics/saas 2>/dev/null || ls -d /appl/appdynamics 2>/dev/null)
if [ -z "$APPD_PATH" ];then
        echo "AppDynamics is not installed on this server"
else
        echo "DEBUG: ls -d $APPD_PATH/*"
        ls -d $APPD_PATH/* |grep agent | while read adir
        do
                agent=$(basename $(basename "$adir" "agent") "-" )
                echo "DEBUG: agent=$agent"
                unzip -p $adir/${agent}*agent.jar  META-INF/MANIFEST.MF \
                        |sed -e 's/Implementation-Version: //;t;d'
                find $adir/ -type f -name java -executable |while read javabin
                do
                        echo -e "# $javabin"
                        $javabin -version 2>&1
                done
        done
fi