dynatrace.Dynatrace-Java-Agent
Dynatrace-Java-Agent-Ansible
Este rol de Ansible instala y configura el Agente Dynatrace AppMon de la solución Dynatrace AppMon para un proceso Java.
Nota: este rol hace que el Agente Dynatrace AppMon esté disponible para una Máquina Virtual Java inyectando una opción -agentpath apropiada en una variable de entorno, por ejemplo, JAVA_OPTS
, dentro de un archivo (típicamente un script ejecutable). Se asume que este script ejecuta directamente el proceso Java o es llamado por otro script antes de que se ejecute el proceso Java. Deberás reiniciar tu aplicación después de colocar el agente.
Ejemplo
Se nos proporciona un archivo run-foo.sh
que ejecuta el método main de la clase Foo:
java Foo
Al ejecutar este rol, cambiamos el contenido del archivo para que quede algo así:
export JAVA_OPTS="$JAVA_OPTS -agentpath:/opt/dynatrace/agent/lib64/libdtagent.so=name=foo-java-agent,collector=localhost:9998"
java Foo
Descarga
El rol está disponible a través de:
Dependencias
Este rol depende de los siguientes roles:
Variables del Rol
Como se define en defaults/main.yml
:
Nombre | Por defecto | Descripción |
---|---|---|
dynatrace_java_agent_env_var_name | JAVA_OPTS | El nombre de la variable de entorno que se utilizará para la inyección del Agente. |
dynatrace_java_agent_env_var_file_name | requerido | El nombre del archivo que se modificará. |
dynatrace_java_agent_env_var_file_insert_after | BOF | Una expresión regular, BOF o EOF para inicio de archivo y fin de archivo, respectivamente. Si no se encuentra una expresión regular determinada, la opción -agentpath se añadirá al final del archivo. |
dynatrace_java_agent_name | java-agent | El nombre del Agente tal como aparece en Dynatrace AppMon. |
dynatrace_java_agent_collector_hostname | localhost | La ubicación del recolector al que se debe conectar el Agente. |
dynatrace_java_agent_collector_port | 9998 | El puerto del recolector al que se debe conectar el Agente. |
dynatrace_java_agent_linux_agent_path | /opt/dynatrace/agent/lib64/libdtagent.so | La ruta a la biblioteca del Agente. |
dynatrace_java_agent_state | present | Si el Agente debe estar present o absent . |
Ejemplo 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'
Pruebas
Usamos Test Kitchen para probar automáticamente nuestras implementaciones automatizadas con Serverspec y RSpec:
- Instala Test Kitchen y sus dependencias desde el directorio del proyecto:
gem install bundler
bundle install
- Ejecuta todas las pruebas
kitchen test
Por defecto, ejecutamos nuestras pruebas dentro de contenedores de Docker para acelerar considerablemente el tiempo de prueba (ver .kitchen.yml
).
Recursos Adicionales
Blogs
- Cómo automatizar el monitoreo de aplicaciones empresariales con Ansible
- Cómo automatizar el monitoreo de aplicaciones empresariales con Ansible - Parte II
Presentaciones
- Implementaciones automatizadas (de Dynatrace AppMon) con Ansible
- Infraestructura impulsada por pruebas con Ansible, Test Kitchen, Serverspec y RSpec
¿Problemas? ¿Preguntas? ¿Sugerencias?
Esta oferta es Soportada por la Comunidad de Dynatrace. No dudes en compartir cualquier problema, pregunta y sugerencia con tus compañeros en el Foro de Monitoreo de Aplicaciones y UEM de la Comunidad Dynatrace.
Licencia
Licenciada bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.
An Ansible role for automated deployments of the Dynatrace Java Agent.
ansible-galaxy install dynatrace.Dynatrace-Java-Agent