Viewer AppDynamics Installation

De EjnTricks

Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Configuration-icon.png Déployement

Le viewer est installé dans le répertoire /var/opt/AppDynamics/viewer, il faut donc créer ce répertoire.

sudo mkdir /var/opt/AppDynamics/viewer

Le fichier zip LiteViewer.zip est copié dans ce répertoire et décompressé:


Icon-log.png Configuration du logger

Avant toute première exécution, l'analyse du fichier log4j.xml permet d'identifier l'emplacement d'écriture de la log. Ce fichier se trouve directement dans le répertoire d'installation.

Afin de rester dans les "normes" Linux, l'emplacement de la log est modifié pour pointer sur un répertoire dans /var/log. Afin d'accéder rapidement à ces logs, celles ci sont isolées dans un sous répertoire AppDynamics/viewer.

sudo mkdir /var/log/AppDynamics
sudo mkdir /var/log/AppDynamics/viewer

Puis l'emplacement de la log est modifié dans le fichier log4j.xml ainsi:

Avec cette configuration, les messages apparaissent en double dans le fichier de log.

15:36:16,651  INFO [main] AgentHandlerServlet - *****************************************************************
15:36:16,651  INFO [main] AgentHandlerServlet - *****************************************************************
15:36:16,652  INFO [main] AgentHandlerServlet - Starting  ....AppDynamics Lite Viewer 0.91 Beta Build Date 2011-02-01 12:11:15
15:36:16,652  INFO [main] AgentHandlerServlet - Starting  ....AppDynamics Lite Viewer 0.91 Beta Build Date 2011-02-01 12:11:15
15:36:16,749  INFO [main] FileStore - Configuration File [/var/opt/AppDynamics/viewer/configuration.xml]
15:36:16,749  INFO [main] FileStore - Configuration File [/var/opt/AppDynamics/viewer/configuration.xml]
15:36:17,041  INFO [main] DirectoryResolver - Deleting directory [/var/opt/AppDynamics/viewer/data]
15:36:17,041  INFO [main] DirectoryResolver - Deleting directory [/var/opt/AppDynamics/viewer/data]
15:36:17,044  INFO [main] FileStoreManager - Initialized Data Directory [/var/opt/AppDynamics/viewer/data]
15:36:17,044  INFO [main] FileStoreManager - Initialized Data Directory [/var/opt/AppDynamics/viewer/data]
15:36:17,051  INFO [main] FileStoreManager - Data File /var/opt/AppDynamics/viewer/data/data.ser_1310650577044 created at 
Thu Jul 14 15:36:17 CEST 2011
15:36:17,051  INFO [main] FileStoreManager - Data File /var/opt/AppDynamics/viewer/data/data.ser_1310650577044 created at 
Thu Jul 14 15:36:17 CEST 2011

Cela est du à une erreur dans le fichier de configuration de log4j dans lequel les appender sont définis pour chaque les packages mais également dans la balise root. Pour éviter l'affichage en double, il suffit de commenter la configuration du appender sur les packages.


Network Admin.png Configuration Tomcat

Une fois installé, il faut référencer l'agent pour auditer un serveur Tomcat. Ceci s'effectue par modification du script de lancement. Dans la documentation officielle, un test est réalisé sur l'argument d'appel du script catalina.sh, et la modification est réalisée directement dans celui ci. Il est préférable d'effectuer les modifications dans le fichier setenv.sh, au niveau du répertoire /var/lib/tomcat6/bin dans le cadre de cette installation, pour apporter des modifications aux variables d'environnement. Pour une installation sous Ubuntu, l'arrêt du serveur Tomcat ne s'effectue pas par appel du script shutdown.sh. Donc il est pas nécessaire de tester la valeur de l'argument fourni au script catalina.sh

En conclusion, le script setenv.sh est modifié pour y ajouter la ligne suivante:

export JAVA_OPTS="$JAVA_OPTS -javaagent:/var/opt/AppDynamics/agent/javaagent.jar"


Si le script shutdown.sh était appelé pour réaliser l'arrêt de Tomcat, il faudrait avoir accès à l'argument de lancement depuis le fichier setenv.sh. La première modification concernerait alors le script catalina.sh en changeant les lignes:

if [ -r "$CATALINA_BASE"/bin/setenv.sh ]; then
  . "$CATALINA_BASE"/bin/setenv.sh
elif [ -r "$CATALINA_HOME"/bin/setenv.sh ]; then
  . "$CATALINA_HOME"/bin/setenv.sh
fi

Par

if [ -r "$CATALINA_BASE"/bin/setenv.sh ]; then
  . "$CATALINA_BASE"/bin/setenv.sh $1
elif [ -r "$CATALINA_HOME"/bin/setenv.sh ]; then
  . "$CATALINA_HOME"/bin/setenv.sh $1
fi

La modification dans le script setenv.sh serait alors plus proche de celle décrite dans la documentation officielle:

if ["$1" = "start" -o "$1" = "run"]; then
  export JAVA_OPTS="$JAVA_OPTS -javaagent:agent_install_dir/javaagent.jar"
fi


Run-icon.png Première exécution

Lors de la première exécution, une erreur est remontée dans la sortie de Tomcat, fichier /var/log/tomcat/catalina.out.

Le message est suffisamment explicite, il faut créer le répertoire de log pour le serveur audité. Dans l'exemple ci dessus, l'agent est installé sur le serveur etienne-server, d'où l'emplacement /var/opt/AppDynamics/agent/logs/etienne-server.

sudo mkdir /var/opt/AppDynamics/agent/logs/etienne-server

Lors de l'exécution, un fichier ByteCodeTransformer.YYYY_MM_DD__HH_MI_SS.X.log est créé dans ce nouveau répertoire. Cependant, comme pour les logs, il est préférable que celui ci soit déposer dans l'arborescence /var/log, pour un environnement Linux.

Ceci est réalisable en ne créant pas physiquement le répertoire, mais en effectuant un lien symbolique. Dans le cadre de cet article, le lien etienne-server va pointer sur l'emplacement /var/log/AppDynamics/agent. Les propriétaires du lien sont également modifiés pour être conforme à la sécurité mise en place à la page suivante.

sudo ln -s /var/log/AppDynamics/agent /var/opt/AppDynamics/agent/logs/etienne-server
sudo chown -h tomcat6:USER /var/opt/AppDynamics/agent/logs/etienne-server


Viewer icon.png Voir aussi

Documentation officielle: http://litedocs.appdynamics.com/tomcat.htm