Monitoring FME Flow Availability with V4 REST API Health Checks

Aaron Hillier
Aaron Hillier
  • Updated

Introduction

The FME Flow REST API V4 /healthcheck requests return the operational status of FME Flow's critical components. A request can be made to check for either “Liveness” or “Readiness”. This article provides details on which component checks are performed for each of these requests and tips for investigating failures.

Please note that this article only applies to V4 of the FME Flow REST API, which is officially available in FME 2025.1+. For running Flow health checks using V3 of the REST API, please see this article.

Why Use Health Checks?

A health check request can be used by any person, service, or application that needs to verify that FME Flow is available and operational. Some examples include: 

  • An FME Flow Administrator, for automated monitoring and notifications.
  • A load balancer, to determine where jobs should be routed.
  • A webhook service, before sending event data

Liveness

Liveness is when all FME Flow critical components are running and responsive. This can be determined through the following API endpoint: 

http://<hostname>/fmeapiv4/healthcheck/liveness

A liveness check verifies that the following components are active and responsive: 

Component Process Log File
Core FMEProcessMonitorCore.exe core > fmeprocessmonitorcore.log
Configuration FMEConfiguration.exe core > fmeconfiguration.log
Resources FMEMountPoint.exe core > fmesharedresource.log
Connections FMEConnection.exe core > fmeconnection.log
Scheduler FMEScheduler.exe core > fmescheduler.log
Notifier FMENotifier.exe core > subscribers >  fmesubscribers.log
Relayer FMERelayer.exe core > publishers > fmepublishers.log
Cleanup FMECleanup.exe service > fmecleanup.log
Tomcat FMEFlow_ApplicationServer.exe   tomcat > catalina.log

If all listed components are responsive, the liveness check will return the following message:

{"status":"ok","message":"FME Flow is healthy."}

If one or more listed component(s) are not responsive, the liveness check will return the following message:

{"status":"componentUnavailable","message":"FME Flow is not ready to process jobs."}

Readiness

Readiness is when all FME Flow critical components are running and responsive and the system is accepting jobs. A readiness check is performed using the following endpoint:

http://<hostname>/fmeapiv4/healthcheck/readiness

A readiness check verifies that the following components are active and responsive:

Component Process Log File
Core FMEProcessMonitorCore.exe core > fmeprocessmonitorcore.log
Configuration FMEConfiguration.exe core > fmeconfiguration.log
Resources FMEMountPoint.exe core > fmesharedresource.log
Connections FMEConnection.exe core > fmeconnection.log
Scheduler FMEScheduler.exe core > fmescheduler.log
Notifier FMENotifier.exe core > subscribers >  fmesubscribers.log
Relayer FMERelayer.exe core > publishers > fmepublishers.log
Cleanup FMECleanup.exe service > fmecleanup.log
Tomcat FMEFlow_ApplicationServer.exe   tomcat > catalina.log
Queue memurai.exe or redis-server.exe queue > localhost_queue.log
Post-install scripts have successfully executed N/A installation


If all listed components are responsive and the queue is active, a successful readiness check will return the following message:

{"status":"ok","message":"FME Flow is healthy."}


If one or more listed component(s) are not responsive and/or the queue is not active, a readiness check will return the following message:

{"status":"notReady","message":"One or more essential processes are unavailable."}

How to Investigate a Health Check Failure

Health check requests can return more detailed information by using the includeDetails parameter. This is useful after a general health check fails:

http://<hostname>/fmeapiv4/healthcheck/liveness?includeDetails=true

The response will include a list of all FME Flow components and their respective statuses:

{"status":"ok","message":"FME Flow is healthy.","components":[{"component":"notifier","status":"up"},{"component":"configuration","status":"up"},{"component":"relayer","status":"up"},{"component":"connections","status":"up"},{"component":"scheduler","status":"up"},{"component":"cleanup","status":"up"},{"component":"resources","status":"up"},{"component":"core","status":"up"}]}

Although the Tomcat component is not explicitly listed in the response above, both the liveness and readiness checks will confirm that Tomcat is healthy. Since the Flow API application runs within Tomcat itself, a successful response from either of these endpoints will indicate that the Tomcat component is healthy.

Any components listed as "down" should be further investigated.  

Additional Resources

Was this article helpful?

We're sorry to hear that.

Please tell us why.

As of January 14th, 2026, comments on knowledge base articles have been closed. To make sure questions don’t get missed and to enable more community support, we’ve moved discussions to the FME Community. If you have a question or a comment about this article, please create a new post or create a support ticket.