Monitoring GlassFish Servers with Nagios XI

Introduction
Ensuring the availability and performance of GlassFish application servers is crucial for maintaining a stable Java EE environment. Nagios XI provides a robust solution for monitoring GlassFish, offering proactive alerts and real-time insights into server health. This guide walks through the setup process to monitor GlassFish servers effectively using Nagios XI.
Prerequisites
Before configuring monitoring, ensure the following:
- GlassFish Server Installed and Running
- Nagios XI Installed and Configured
- SNMP or JMX Monitoring Enabled on GlassFish
- Network Connectivity Between Nagios XI and GlassFish Server
- Appropriate User Permissions for Monitoring Access
Key Features of Nagios XI for GlassFish Monitoring
- Resource Utilization Monitoring: CPU, memory, and disk usage tracking.
- Application Performance Metrics: Monitoring thread pools, active sessions, and response times.
- Custom Query Monitoring: Query specific GlassFish attributes via JMX for advanced monitoring.
- Alerting and Notifications: Set thresholds for warnings and critical alerts to prevent downtime.
Setting Up GlassFish Monitoring in Nagios XI
Step 1: Enable JMX Monitoring in GlassFish
- Access the GlassFish admin console.
- Navigate to Configurations > server-config > Monitoring.
- Set the desired components (JVM, Web Container, etc.) to HIGH.
- Enable JMX monitoring by adding the following startup options to
domain.xml
:
<jvm-options>-Dcom.sun.management.jmxremote</jvm-options> <jvm-options>-Dcom.sun.management.jmxremote.port=8686</jvm-options> <jvm-options>-Dcom.sun.management.jmxremote.ssl=false</jvm-options> <jvm-options>-Dcom.sun.management.jmxremote.authenticate=false</jvm-options>
5. Restart the GlassFish server to apply changes.
Step 2: Configure Nagios XI to Monitor GlassFish
- Use NRPE, SNMP, or JMX plugins to gather GlassFish metrics.
- Install necessary Nagios plugins on the monitoring server
yum install nagios-plugins-java
- Define GlassFish services in Nagios XI configuration:
define service {
use generic-service
host_name glassfish-server
service_description GlassFish Uptime
check_command check_jmx!service:jmx:rmi:///jndi/rmi://glassfish-server:8686/jmxrmi!java.lang:type=Runtime,Uptime
}
Step 3: Test and Verify Monitoring
- Use
check_jmx
command to verify JMX connectivity:
/usr/local/nagios/libexec/check_jmx -U service:jmx:rmi:///jndi/rmi://glassfish-server:8686/jmxrmi -O java.lang:type=Memory -A HeapMemoryUsage
- Check Nagios XI Service Status page to ensure GlassFish metrics are displayed.
Troubleshooting Common Issues
- JMX Connection Errors: Ensure the JMX port is open and accessible.
- Authentication Issues: If JMX authentication is enabled, provide credentials in the check command.
- Firewall Restrictions: Allow inbound connections to the JMX port
iptables -A INPUT -p tcp --dport 8686 -j ACCEPT
Conclusion
By integrating GlassFish monitoring with Nagios XI, IT teams gain proactive insights into application performance, resource utilization, and potential failures. Using JMX, SNMP, or NRPE, organizations can ensure optimal server health and minimize downtime. For advanced configurations, explore custom scripts and third-party plugins tailored to your monitoring needs. For additional support, visit the Nagios Support Forum or Nagios Knowledgebase.
Share:
On this page
Related Articles
- How to Monitor Websensor EM08 in Nagios XI: Step-by-Step Guide for IT Administrators
- Monitoring Windows Event Logs via SNMP in Nagios XI
- How to Integrate MultiTech MTR API with Nagios XI
- Monitoring Java Application Servers with check_jmx in Nagios XI
- Monitoring Unconfigured Objects with Nagios XI: A Comprehensive Guide