Site24x7 APM Insight Java 代理 – Ansible 角色
概述
您可以使用 Ansible 角色在应用服务器上批量安装 Site24x7 APM Insight Java 代理。它支持常见的应用服务器和框架,例如 Apache Tomcat、JBoss、Oracle WebLogic 和 WildFly。
系统要求
- 目标主机上必须存在 unzip 命令。
- 支持的操作系统包括 RedHat、Rocky、AlmaLinux、Debian 和 Darwin。
- 控制节点上需已安装 Ansible。Ansible 安装指南。
配置
可在 Site24x7 APM Insight Ansible 角色中配置以下属性,以启用应用性能监控。
APM Insight 配置属性
可通过 apminsight_props 变量指定这些设置,以定义应用监控的核心配置。
| 属性 | 描述 | 必填 |
|---|---|---|
| app_name | 被监控应用的名称。若未提供,将根据清单文件中的服务器组自动生成名称。 | 否 |
| license_key | 用于身份验证和数据采集的 Site24x7 APM Insight 许可证密钥。请从您的 Site24x7 账户中获取此密钥。 | 是 |
角色安装属性
这些属性定义了将 Site24x7 APM Insight 代理与 Web 服务器集成所需的服务器专属配置。
| 属性 | 描述 | 必填 | 默认值 |
|---|---|---|---|
| server_type | 指定 Web 服务器类型(例如 tomcat、jboss、 weblogic、wildfly),以确保与代理的兼容性。 | 是 | - |
| server_version | 定义 Web 服务器版本,以确保正确配置。 | 否 | - |
| jvm_config_file | Web 服务器使用的 JVM 配置文件路径。若文件不存在,将自动创建。 示例:Tomcat 的 setenv.sh。 |
是 | - |
| service_name | 安装代理后需重启的应用服务器的服务名称。 | 否 | - |
| restart_web_server | 确定安装后是否重启 Web 服务器。 | 否 | true |
| agent_download_dir | 存储代理文件的目录。 | 否 | /opt/apm |
| enable_agent | 控制是否启用 APM Insight 代理。若设置为 false,将不进行任何数据采集。 | 否 | true |
使用 Ansible 安装 Site24x7 APM Insight Java 代理
按照以下步骤,使用 Ansible 角色在应用服务器上配置 Site24x7 APM Insight Java 代理。
步骤 1:解压并配置角色
- 使用以下命令解压 Ansible 角色并将其重命名为 Site24x7-APM:
curl -L -o Site24x7-APM-Ansible-main.zip https://github.com/site24x7/Site24x7-APM-Ansible/archive/refs/heads/main.zip && unzip Site24x7-APM-Ansible-main.zip && mv Site24x7-APM-Ansible-main Site24x7-APM
创建名为 my-playbook.yml 的 playbook 文件和名为 my-inventory.yml 的清单文件,并将两个文件与 Site24x7-APM 文件夹放在同一目录下。
- 使用上述命令解压 zip 文件后,包含 my-playbook.yml 和 my-inventory.yml 文件的最终文件夹结构如下所示:
├─ Site24x7-APM
├ ├── defaults
├ ├── handlers
├ ├── meta
├ ├── tasks
├ ├── tests
├ ├── vars
├ ├── README.md
├─ my-playbook.yml
├─ my-inventory.yml
步骤 2:配置清单文件和 playbook
- 按如下方式创建清单文件。
my-inventory.yml 文件示例:
prod_webserver:
vars:
ansible_user: fedora
ansible_password: <Your Host Password>
ansible_sudo_pass: <Your Sudo Password>
server_type: tomcat
hosts:
java_server_one:
ansible_host: 10.0.20.5
java_agent_host_config:
app_name: Example App
java_server_two:
ansible_host: 127.0.40.2
- 按如下方式创建 playbook 文件。
my-playbook.yml 文件示例:
- hosts: prod_webserver
vars:
apminsight_props:
app_name: <Your Application Name>
license_key: <Your License Key>
install_props:
server_type: 'tomcat'
jvm_config_file: '/usr/share/tomcat8/bin/setenv.sh'
service_name: 'tomcat'
server_version: '8'
restart_web_server: true
tasks:
- include_role:
name: Site24x7-APM
license_key 属性为必填项,必须从您的 Site24x7 APM Insight 页面获取。
步骤 3:安装代理
- 使用以下命令运行 Ansible playbook:
ansible-playbook -i ./my-inventory.yml ./my-playbook.yml
- 验证代理已安装且应用服务器正常运行。
卸载
要使用 Ansible 卸载 Site24x7 APM Insight Java 代理,可在 Ansible playbook 中使用以下变量属性:
| 属性 | 描述 | 必填 | 默认值 |
|---|---|---|---|
| uninstall | 设置为 true 以卸载代理 | 是 | - |
Ansible playbook 示例
以下是卸载 Site24x7 APM Insight Java 代理的 Ansible playbook 示例:
uninstall-playbook.yml 文件示例:
- hosts: webservers
vars:
uninstall: true
ansible_sudo_pass: <Your Sudo Password>
tasks:
- include_role:
name: Site24x7-APM
执行以下命令以运行卸载 playbook。
ansible-playbook -i ./my-inventory.yml ./uninstall-playbook.yml
- 卸载步骤仅适用于通过 Ansible 安装的 Site24x7 APM Insight Java 代理。
- 请确保将 uninstall 变量设置为 true 以卸载代理。若设置为 false 或省略,代理将不会被卸载。
- 将 webservers 替换为您 Ansible 清单文件中实际的主机组名称。
- 请确保在 playbook 中引入 Site24x7-APM 角色以执行卸载操作。
