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 :
- Installez Test Kitchen et ses dépendances depuis le répertoire du projet :
gem install bundler
bundle install
- 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
- Comment automatiser la surveillance des applications d'entreprise avec Ansible
- Comment automatiser la surveillance des applications d'entreprise avec Ansible - Partie II
Présentations
- Déploiements automatisés (de Dynatrace AppMon) avec Ansible
- Infrastructure pilotée par les tests avec Ansible, Test Kitchen, Serverspec et RSpec
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.
An Ansible role for automated deployments of the Dynatrace Java Agent.
ansible-galaxy install dynatrace.Dynatrace-Java-Agent