--- layout: default navsection: admin title: Health checks ... {% comment %} Copyright (C) The Arvados Authors. All rights reserved. SPDX-License-Identifier: CC-BY-SA-3.0 {% endcomment %} Health check endpoints are found at @/_health/ping@ on many Arvados services. The purpose of the health check is to offer a simple method of determining if a service can be reached and allow the service to self-report any problems, suitable for integrating into operational alert systems. To access health check endpoints, services must be configured with a "management token":management-token.html . Health check endpoints return a JSON object with the field @health@. This has a value of either @OK@ or @ERROR@. On error, it may also include a field @error@ with additional information. Examples:
{
  "health": "OK"
}
{
  "health": "ERROR"
  "error": "Inverted polarity in the warp core"
}
h2. Health check aggregator The service @arvados-health@ performs health checks on all configured services and returns a single value of @OK@ or @ERROR@ for the entire cluster. It exposes the endpoint @/_health/all@ . The healthcheck aggregator uses the @Services@ section of the cluster-wide @config.yml@ configuration file. h2. Health check command The @arvados-server check@ command is another way to perform the same health checks as the health check aggregator service. It does not depend on the aggregator service. If all checks pass, it writes @health check OK@ to stderr (unless the @-quiet@ flag is used) and exits 0. Otherwise, it writes error messages to stderr and exits with error status. @arvados-server check -yaml@ outputs a YAML document on stdout with additional details about each service endpoint that was checked. {% codeblock as yaml %} Checks: "arvados-api-server+http://localhost:8004/_health/ping": ClockTime: "2024-12-13T14:38:25Z" ConfigSourceSHA256: 5a2b21ce0aeeeebcaf623329871b4628772446d4684ab0f89da4a2cbc7b3f17c ConfigSourceTimestamp: "2024-12-12T11:14:06.487848-05:00" HTTPStatusCode: 200 Health: OK Response: health: OK ResponseTime: 0.051136 Server: nginx/1.26.1 + Phusion Passenger(R) 6.0.23 Version: 3.0.0 "arvados-controller+http://localhost:8003/_health/ping": ClockTime: "2024-12-13T14:38:25Z" ConfigSourceSHA256: 5a2b21ce0aeeeebcaf623329871b4628772446d4684ab0f89da4a2cbc7b3f17c ConfigSourceTimestamp: "2024-12-12T11:14:06.487848-05:00" HTTPStatusCode: 200 Health: OK Response: health: OK ResponseTime: 0.014869 Server: "" Version: 3.0.0 (go1.21.10) # ... {% endcodeblock %}