Server

Monitoring and Maintenance

Updated: December 4, 2024

Monitoring Nuxeo

Nuxeo JMX Monitoring

The Nuxeo Platform exposes a lot of metrics, either through JMX or through the Coda Hale Metrics library. See the Metrics and Monitoring page for more details.

Nuxeo Server Running and Components Loading Statuses

The Nuxeo Platform provides an URL for monitoring the server status. This method is actually also used by the Launcher to follow the server startup status, after checking the Java process status.

  • http://NUXEO_SERVER/nuxeo/runningstatus will be available at last. While it isn't reachable, the server is stopped or still starting. The server checks the status of all the probes that are registred to be evaluated for this health check. It returns either:
    • HTTP 200 if all checks pass and a JSON with the detailed status like:
        {
         "s3BinaryManagerStatus":"ok",
         "runtimeStatus":"ok",
         "elasticSearchStatus":"ok",
         "ldapDirectories":"ok",
         "repositoryStatus":"ok"
         }
      
      or
    • HTTP 500 if at least one check fails:
        {
         "s3BinaryManagerStatus":"failed",
         "runtimeStatus":"ok",
         "elasticSearchStatus":"ok",
         "ldapDirectories":"ok",
         "repositoryStatus":"ok"
         }
      
      A probe is only run if the last execution time was more than 20s ago. For intervals less than 20s, the last execution status is returned as part of the response. See details about ( probes in Metrics and monitoring ) for the list of probes evaluated for the healthCheck and how to contribute new checks.
  • http://NUXEO_SERVER/nuxeo/runningstatus?info=probe&key=xxx where key can be any probe registered to be evaluated for the health check returns 200 OK if the check passes
  • http://NUXEO_SERVER/nuxeo/runningstatus?info=started returns true if the server finished starting and the Nuxeo runtime is fine with its components.
  • http://NUXEO_SERVER/nuxeo/runningstatus?info=summary&key=xxx returns true or false (see "info=started") and a detailed summary about components. Access to this URL is restricted by an access key configurable in nuxeo.conf (see "server.status.key" in Configuration Parameters Index (nuxeo.conf)).

Sample output if something was wrong at startup (for instance, missing RelationService)

false
======================================================================
= Nuxeo EP Started
======================================================================
= Component Loading Status: Pending: 7 / Unstarted: 0 / Total: 462
  * service:org.nuxeo.ecm.webengine.sites.wiki.relation requires [service:org.nuxeo.ecm.platform.relations.services.RelationService]
  * service:org.nuxeo.ecm.annotations.graph requires [service:org.nuxeo.ecm.platform.relations.services.RelationService]
  * service:org.nuxeo.ecm.platform.relations.jena requires [service:org.nuxeo.ecm.platform.relations.services.RelationService]
  * service:org.nuxeo.ecm.annotations.repository.graph requires [service:org.nuxeo.ecm.platform.relations.services.RelationService]
  * service:org.nuxeo.ecm.platform.publisher.relations.contrib requires [service:org.nuxeo.ecm.platform.relations.services.RelationService]
  * service:org.nuxeo.ecm.platform.relations.services.DefaultJenaGraph requires [service:org.nuxeo.ecm.platform.relations.services.RelationService]
  * service:org.nuxeo.ecm.platform.comment.service.CommentServiceConfig requires [service:org.nuxeo.ecm.platform.relations.services.RelationService]
======================================================================

You can get that information with ./bin/nuxeoctl status (see nuxeoctl and Control Panel Usage).