Dynatrace-Java-Agent

Dynatrace-Java-Agent-Ansible

Эта роль Ansible устанавливает и настраивает агент Dynatrace AppMon для Java-процессов.

Примечание: эта роль делает агент Dynatrace AppMon доступным для виртуальной машины Java путем добавления соответствующей опции -agentpath в переменную окружения, например, JAVA_OPTS, внутри файла (обычно исполняемого скрипта). Предполагается, что этот скрипт либо напрямую выполняет Java-процесс, либо вызывается другим скриптом перед запуском Java-процесса. Вам нужно будет перезапустить ваше приложение после установки агента.

Пример

У нас есть файл run-foo.sh, который выполняет метод main в классе Foo:

java Foo

При выполнении этой роли мы изменяем содержимое файла на следующее:

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

Загрузка

Роль доступна через:

Зависимости

Эта роль зависит от следующих ролей:

Переменные роли

Как определено в defaults/main.yml:

Название Значение по умолчанию Описание
dynatrace_java_agent_env_var_name JAVA_OPTS Название переменной окружения, используемой для внедрения агента.
dynatrace_java_agent_env_var_file_name обязательно Название файла, который будет изменен.
dynatrace_java_agent_env_var_file_insert_after BOF Регулярное выражение, BOF или EOF для начало файла и конец файла соответственно. Если заданное регулярное выражение не совпадает, опция -agentpath будет добавлена в конец файла.
dynatrace_java_agent_name java-agent Название агента, как оно отображается в Dynatrace AppMon.
dynatrace_java_agent_collector_hostname localhost Местоположение коллектора, к которому агент должен подключиться.
dynatrace_java_agent_collector_port 9998 Порт на коллекторе, к которому агент должен подключиться.
dynatrace_java_agent_linux_agent_path /opt/dynatrace/agent/lib64/libdtagent.so Путь к библиотеке агента.
dynatrace_java_agent_state present Указывает, должен ли агент быть present или absent.

Пример плейбука

- 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 Kitchen для автоматического тестирования наших автоматизированных развертываний с помощью Serverspec и RSpec:

  1. Установите Test Kitchen и его зависимости из каталога проекта:
gem install bundler
bundle install
  1. Запустите все тесты
kitchen test

По умолчанию мы запускаем наши тесты внутри контейнеров Docker, так как это значительно ускоряет время тестирования (смотрите в файле .kitchen.yml).

Дополнительные ресурсы

Блоги

Презентации

Проблемы? Вопросы? Предложения?

Эта программа поддерживается сообществом Dynatrace Community Supported. Не стесняйтесь делиться любыми проблемами, вопросами и предложениями с вашими коллегами на форуме Dynatrace Community по Мониторингу приложений и UEM.

Лицензия

Лицензировано под лицензией MIT. Смотрите файл LICENSE для подробностей.

О проекте

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

Установить
ansible-galaxy install Dynatrace/Dynatrace-Java-Agent-Ansible
Лицензия
mit
Загрузки
1511
Владелец
Dynatrace