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:
- Установите Test Kitchen и его зависимости из каталога проекта:
gem install bundler
bundle install
- Запустите все тесты
kitchen test
По умолчанию мы запускаем наши тесты внутри контейнеров Docker, так как это значительно ускоряет время тестирования (смотрите в файле .kitchen.yml
).
Дополнительные ресурсы
Блоги
- Как автоматизировать мониторинг корпоративных приложений с Ansible
- Как автоматизировать мониторинг корпоративных приложений с Ansible - Часть II
Презентации
- Автоматизированные развертывания (Dynatrace AppMon) с использованием Ansible
- Инфраструктура, управляемая тестами, с Ansible, Test Kitchen, Serverspec и RSpec
Проблемы? Вопросы? Предложения?
Эта программа поддерживается сообществом Dynatrace Community Supported. Не стесняйтесь делиться любыми проблемами, вопросами и предложениями с вашими коллегами на форуме Dynatrace Community по Мониторингу приложений и UEM.
Лицензия
Лицензировано под лицензией MIT. Смотрите файл LICENSE для подробностей.
ansible-galaxy install Dynatrace/Dynatrace-Java-Agent-Ansible