dynatrace.Dynatrace-Java-Agent

Dynatrace-Java-Agent-Ansible

Ce rôle Ansible installe et configure l'Agent Dynatrace AppMon de la solution Dynatrace AppMon pour un processus Java.

Remarque : ce rôle rend l'Agent Dynatrace AppMon disponible pour une Machine Virtuelle Java en injectant une option -agentpath appropriée dans une variable d'environnement, par exemple JAVA_OPTS, à l'intérieur d'un fichier (généralement un script exécutable). On suppose que ce script exécute directement le processus Java ou est exécuté par un autre script avant que le processus Java ne soit exécuté. Vous devrez redémarrer votre application après avoir installé l'agent.

Exemple

Nous avons un fichier run-foo.sh qui exécute la méthode main de la classe Foo :

java Foo

En exécutant ce rôle, nous changeons le contenu du fichier pour obtenir quelque chose comme ceci :

export JAVA_OPTS="$JAVA_OPTS -agentpath:/opt/dynatrace/agent/lib64/libdtagent.so=name=foo-java-agent,collector=localhost:9998"
java Foo

Téléchargement

Le rôle est disponible via :

Dépendances

Ce rôle dépend des rôles suivants :

Variables de rôle

Comme défini dans defaults/main.yml :

Nom Par défaut Description
dynatrace_java_agent_env_var_name JAVA_OPTS Le nom de la variable d'environnement à utiliser pour l'injection de l'agent.
dynatrace_java_agent_env_var_file_name obligatoire Le nom du fichier à modifier.
dynatrace_java_agent_env_var_file_insert_after BOF Une expression régulière, BOF ou EOF pour début de fichier et fin de fichier, respectivement. Si aucune expression régulière n'est trouvée, l'option -agentpath sera ajoutée à la fin du fichier.
dynatrace_java_agent_name java-agent Le nom de l'agent tel qu'il apparaît dans Dynatrace AppMon.
dynatrace_java_agent_collector_hostname localhost L'emplacement du collecteur auquel l'agent doit se connecter.
dynatrace_java_agent_collector_port 9998 Le port sur le collecteur auquel l'agent doit se connecter.
dynatrace_java_agent_linux_agent_path /opt/dynatrace/agent/lib64/libdtagent.so Le chemin vers la bibliothèque de l'agent.
dynatrace_java_agent_state present Indique si l'agent doit être present (présent) ou absent (absent).

Exemple de Playbook

- hosts: all
  roles:
    - role: Dynatrace.Dynatrace-Java-Agent
      dynatrace_java_agent_env_var_file_name: /usr/bin/run-foo.sh
      dynatrace_java_agent_env_var_file_insert_after: '#!/bin/sh'

Test

Nous utilisons Test Kitchen pour tester automatiquement nos déploiements automatisés avec Serverspec et RSpec :

  1. Installez Test Kitchen et ses dépendances depuis le répertoire du projet :
gem install bundler
bundle install
  1. Exécutez tous les tests
kitchen test

Par défaut, nous exécutons nos tests à l'intérieur des conteneurs Docker car cela accélère considérablement le temps de test (voir .kitchen.yml).

Ressources supplémentaires

Blogs

Présentations

Problèmes ? Questions ? Suggestions ?

Cette offre est soutenue par la communauté Dynatrace. N'hésitez pas à partager tout problème, question et suggestion avec vos pairs sur le Forum de surveillance des applications et UEM de la communauté Dynatrace.

Licence

Sous licence MIT. Voir le fichier LICENSE pour plus de détails. analytics

À propos du projet

An Ansible role for automated deployments of the Dynatrace Java Agent.

Installer
ansible-galaxy install dynatrace.Dynatrace-Java-Agent
Licence
mit
Téléchargements
1.5k
Propriétaire
Dynatrace