dynatrace.Dynatrace-Java-Agent
Dynatrace-Java-Agent-Ansible
这个 Ansible 角色安装和配置 Dynatrace 应用监控代理(Dynatrace AppMon Agent),用于 Java 进程。
注意:该角色通过将适当的 -agentpath 选项注入到环境变量(例如 JAVA_OPTS
)中,使 Dynatrace 应用监控代理可用于 Java 虚拟机,通常是在一个可执行脚本文件中。假设这个脚本要么直接执行 Java 进程,要么在 Java 进程执行之前被另一个脚本调用。在放置代理后,您需要重启应用程序。
示例
我们有一个文件 run-foo.sh
,它执行类 Foo 中的 main 方法:
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
)。
其他资源
博客
演示
问题?问题?建议?
此产品由 Dynatrace 社区支持。欢迎您在 Dynatrace 社区的 应用监控与用户体验管理论坛 上分享任何问题、疑问和建议。
许可证
根据 MIT 许可证授权。详细信息见 LICENSE 文件。