
The Payara Monthly Catch -September 2025
Welcome aboard the September issue of The Monthly Catch! With summer holidays wrapping up, the Java world is back […]
Ensuring consistent performance and early detection of potential system issues in Jakarta EE (formerly Java EE) production deployments are critical in every production deployment. The Payara HealthCheck Service is a built-in tool designed specifically to help you monitor the health of your Payara Server deployments. While often overlooked, this service is an essential asset for operations teams who seek to minimise downtime and maximise system reliability. Let’s dive into what the HealthCheck Service does, how it can be configured, and why it’s valuable for monitoring your app server’s critical components.
Traditional monitoring often relies on external tools, introducing complexity and potential blind spots. This can make it difficult to detect performance issues until they become major outages or negatively impact user experience. In Java EE or Jakarta EE environments, there are many performance metrics that could potentially fail but are not always easy to detect early. These include high CPU usage, excessive memory consumption, and garbage collection irregularities that can lead to performance degradation. Without consistent monitoring, operations teams may face challenges in diagnosing complex failures after they occur, resulting in extended downtimes and missed SLAs.
The Payara HealthCheck Service provides an automated and continuous way to monitor the performance and health of your Payara Server. It works by regularly checking specific metrics and issuing notifications when predefined thresholds are exceeded. These notifications allow you to identify problems early and create a faster response workflow or root cause analysis.
When enabled, Payara’s HealthCheck service can track the following vital statistics:
Once set up, Payara’s HealthCheck Service can be configured to send status notifications when specific thresholds are crossed. These thresholds can be configured as GOOD, WARNING, or CRITICAL, allowing you to classify the severity of the issue. For example, while a WARNING-level notification might not require immediate action, a CRITICAL notification would suggest that you take swift intervention to avoid server failure.
Here’s an example of what a log entry might look like when a metric hits its threshold:
[SEVERE] [fish.payara.nucleus.healthcheck.HealthCheckService]
[status=CRITICAL, message='Thread with id: 145-testing-thread-1 is a hogging thread for the last 59 seconds 999 milliseconds']
In this specific instance, we’re looking at a thread that’s been identified as a “hogging thread” and has exceeded the allowed operating window. This immediate feedback allows operations teams to quickly identify and address potential issues before they escalate.
One of the strengths of Payara’s HealthCheck Service is its flexibility. You can fine-tune each aspect of the service to match your application’s specific requirements:
Enabling the HealthCheck Service is straightforward. You can use the Payara Admin Console or the command line:
asadmin set-healthcheck-configuration --enabled=true --dynamic=true --historic-trace-enabled=true --historic-trace-store-size=20 --set-notifiers=log-notifier,jms-notifier
This command enables the service, turns on historical tracing, and sets up log and JMS notifiers.
Additionally, the HealthCheck service integrates smoothly with MicroProfile Health endpoints, enabling you to expose certain metrics for quick health checks via RESTful APIs. If you’re using monitoring tools compatible with these endpoints, you can further streamline your monitoring processes.
Two particularly powerful features of the HealthCheck Service are its ability to detect hogging and stuck threads:
The Payara HealthCheck Service is an indispensable tool for any operations team focused on ensuring the performance and stability of Payara server environments. From CPU metrics and memory tracking to thread management and garbage collection monitoring, it provides an extensive set of tools to identify and fix bottlenecks early.
Configuring and keeping an eye on the metrics that matter to your specific deployment can drastically reduce downtime, improve response times, and ensure your systems are operating at an optimal level of performance. So why not give it a try? Download your trial copy of Payara Enterprise, enable the Payara HealthCheck Service in your and take advantage of real-time monitoring tailored to your enterprise needs. Your systems—and team—will thank you. Happy Coding!
{{cta(‘5a2eba92-d5bf-4f74-a84a-c170a659fe46’)}}
Share:
Welcome aboard the September issue of The Monthly Catch! With summer holidays wrapping up, the Java world is back […]
We’re excited to announce that Payara Platform Community 7 Beta application server is now fully certified as Jakarta EE 11 […]
If your Java EE 8 applications run on Red Hat JBoss Enterprise Application Platform (EAP) 7, you can’t afford […]