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 代理状态,取值为 presentabsent

示例剧本

- 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 来自动测试我们的自动化部署,使用 ServerspecRSpec

  1. 在项目目录下安装 Test Kitchen 及其依赖:
gem install bundler
bundle install
  1. 运行所有测试
kitchen test

默认情况下,我们在 Docker 容器中运行测试,这样可以大大加快测试时间(见 .kitchen.yml)。

其他资源

博客

演示

问题?问题?建议?

此产品由 Dynatrace 社区支持。欢迎您在 Dynatrace 社区的 应用监控与用户体验管理论坛 上分享任何问题、疑问和建议。

许可证

根据 MIT 许可证授权。详细信息见 LICENSE 文件。

关于项目

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

安装
ansible-galaxy install dynatrace.Dynatrace-Java-Agent
许可证
mit
下载
1.5k
拥有者
Dynatrace