Site24x7 APM Insight Java agent – Ansible role
Overview
You can deploy and configure the Site24x7 APM Insight Java agent on your application servers using an Ansible role. It supports popular application servers and frameworks like Apache Tomcat, Eclipse Jetty, and WildFly.
Requirements
- The unzip command must be available on target hosts.
- Supports operating systems such as RedHat, Rocky, AlmaLinux, Debian, and Darwin.
- Ansible should be installed on the control node. Ansible Installation Guide.
Configuration
The following properties can be configured in the Site24x7 APM Insight Ansible role to enable application performance monitoring.
APM Insight configuration properties
These settings can be specified through the apminsight_props variable to define essential configurations for application monitoring.
Property | Description | Required |
---|---|---|
app_name | The name of the application being monitored. If not provided, an auto-generated name will be assigned based on the server group in the inventory file. | No |
license_key | The Site24x7 APM Insight license key used for authentication and data collection. Obtain this key from your Site24x7 account. | Yes |
Role installation properties
These properties define the server-specific configurations required to integrate the Site24x7 APM Insight agent with your web server.
Property | Description | Required | Default |
---|---|---|---|
server_type | Specifies the web server type (e.g., tomcat, jetty, wildfly). This ensures compatibility with the agent. | Yes | - |
server_version | Defines the web server version to ensure proper configuration. | No | - |
jvm_config_file | Path to the JVM configuration file used by the web server. If the file does not exist, it will be created. Example: setenv.sh for Tomcat. |
Yes | - |
service_name | Identifies the service or application being monitored for easier management. | No | - |
restart_web_server | Determines whether the web server should restart after installation. | No | true |
agent_download_dir | Directory where the agent files will be stored. | No | /opt/apm |
enable_agent | Controls whether the APM Insight agent is enabled. If set to false, no data collection will occur. | No | true |
Installation of Site24x7 APM Insight Java agent with Ansible
Follow the steps to configure the Site24x7 APM Insight Java agent on your application servers using an Ansible role.
Step 1: Extract and set up the role
- Use the following command to extract the Ansible role and rename it to 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
Create a playbook named my-playbook.yml and an inventory file named my-inventory.yml, and place both files alongside the Site24x7-APM folder.
- Once the zip file is extracted using the command above, the final folder structure, including the my-playbook.yml and my-inventory.yml files, should appear as follows:
├─ Site24x7-APM
├ ├── defaults
├ ├── handlers
├ ├── meta
├ ├── tasks
├ ├── tests
├ ├── vars
├ ├── README.md
├─ my-playbook.yml
├─ my-inventory.yml
Step 2: Configure the inventory and playbook
- Create an inventory file as follows.
Example my-inventory.yml file:
prod_webserver:
vars:
ansible_user: fedora
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
- Create a playbook file as follows.
Example my-playbook.yml file:
- 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
The license_key property is mandatory and must be retrieved from your Site24x7 APM Insight page.
Step 3: Install the agent
- Run the Ansible playbook using the following command:
ansible-playbook -i ./my-inventory.yml ./my-playbook.yml
- Verify that the agent is installed and the application server is running as expected.
Uninstallation
To uninstall the Site24x7 APM Insight Java agent using Ansible, you can use the following variable property in your Ansible playbook:
Property | Description | Required | Default |
---|---|---|---|
uninstall | set to true to uninstall the agent | Yes | - |
Example Ansible playbook
Here is an example Ansible playbook that uninstalls the Site24x7 APM Insight Java agent:
- hosts: webservers
vars:
uninstall: true
tasks:
- include_role:
name: Site24x7-APM
This will initiate the uninstallation process.
- The uninstallation steps will only work if the Site24x7 APM Insight Java agent is installed using Ansible.
- Make sure to set the uninstall variable to true to uninstall the agent. If you set it to false or omit it, the agent will not be uninstalled.
- Replace webservers with the name of your host group in your Ansible inventory file.
- Make sure to include the Site24x7-APM role in your playbook to uninstall the agent.