Merge branch '13146-shared-rails' refs #13146
[arvados.git] / doc / admin / health-checks.html.textile.liquid
1 ---
2 layout: default
3 navsection: admin
4 title: Health checks
5 ...
6
7 {% comment %}
8 Copyright (C) The Arvados Authors. All rights reserved.
9
10 SPDX-License-Identifier: CC-BY-SA-3.0
11 {% endcomment %}
12
13 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.
14
15 To access health check endpoints, services must be configured with a "management token":management-token.html .
16
17 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:
18
19 <pre>
20 {
21   "health": "OK"
22 }
23 </pre>
24
25 <pre>
26 {
27   "health": "ERROR"
28   "error": "Inverted polarity in the warp core"
29 }
30 </pre>
31
32 h2. Healthcheck aggregator
33
34 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@ .
35
36 The healthcheck aggregator uses the @NodeProfile@ section of the cluster-wide @arvados.yml@ configuration file.  Here is an example.
37
38 <pre>
39 Cluster:
40   # The cluster uuid prefix
41   zzzzz:
42     NodeProfile:
43       # For each node, the profile name corresponds to a
44       # locally-resolvable hostname, and describes which Arvados
45       # services are available on that machine.
46       api:
47         arvados-controller:
48           Listen: 8000
49         arvados-api-server:
50           Listen: 8001
51       manage:
52         arvados-node-manager:
53           Listen: 8002
54       workbench:
55         arvados-workbench:
56           Listen: 8003
57         arvados-ws:
58           Listen: 8004
59       keep:
60         keep-web:
61           Listen: 8005
62         keepproxy:
63           Listen: 8006
64       keep0:
65         keepstore:
66           Listen: 25701
67       keep1:
68         keepstore:
69           Listen: 25701
70 </pre>