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:

  1. Instala Test Kitchen y sus dependencias desde el directorio del proyecto:
gem install bundler
bundle install
  1. 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

Presentaciones

¿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.

Acerca del proyecto

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

Instalar
ansible-galaxy install dynatrace.Dynatrace-Java-Agent
Licencia
mit
Descargas
1.5k
Propietario
Dynatrace