Skip to main content

What's New in MarkLogic 11

Enhanced Health Check Monitoring

Notice

There is a known issue when upgrading from MarkLogic 9 or 10 to 11.0.0. After upgrading, in order to enable the enhanced health check endpoints, edit the configuration of the "HealthCheck" app server and set the "Url Rewriter" to "rewriter.xml". This issue will be addressed in a coming patch release of MarkLogic Server.

In MarkLogic 11, the "health check" capability has been significantly enhanced. In versions prior to MarkLogic 11, there is a simple health check application server running on port 7997 that responds "Healthy" if the MarkLogic host is up and running. The primary use case for this existing service is for load balancer health probes. 

In order to support higher-level monitoring of a host's and cluster's "health" and therefore, ability to service requests, MarkLogic 11 now provides health check at multiple levels:

API

Description

http://<host>:7997

Backward compatible and returns "Healthy" (200 OK) if the MarkLogic host is up and running and the HealthCheck application server is enabled.

No authentication is required.

http://<host>:7997/LATEST/healthcheck

Returns "Healthy" (200 OK) only if the following conditions are met:

  • The target host has joined the cluster, and a quorum exists.

  • All the application servers are configured and ready to handle requests.

  • All the databases are mounted and available.

  • All server background processes are running without issue.

Otherwise, returns "Unhealthy" (503 Service Unavailable).

No authentication is required.

http://<host>:7997/LATEST/healthcheck/status

Returns health status of each of the components.

<healthcheck-general-status xmlns="http://marklogic.com/xdmp/status/healthcheck-general">
  <server-initializing>false</server-initializing>
  <server-restarting>false</server-restarting>
  <server-shutdown>false</server-shutdown>
  <quorum-exists>true</quorum-exists>
  <server-healthy>true</server-healthy>
  <background-healthy>true</background-healthy>
  <database-healthy>true</database-healthy>
</healthcheck-general-status>

No authentication is required.

http://<host>:8002/manage/v2?view=healthcheck

Returns the detailed health status of each of the components checked. This API requires authentication as it exposes details of internal configuration. See /REST/GET/manage/v2@view=healthcheck for details.

Two new built-in functions (below) are available in MarkLogic 11 to support the new health check capability.

Function

Description

xdmp.clusterQuorumExists() 

Returns whether a quorum exists in the specified cluster.

xdmp.healthcheckStatus() 

Returns the health check status of each component in the current cluster.