Merge branch '13340-wb-keep-links'
[arvados.git] / doc / admin / metrics.html.textile.liquid
1 ---
2 layout: default
3 navsection: admin
4 title: Metrics
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 Some Arvados services publish Prometheus/OpenMetrics-compatible metrics at @/metrics@, and some provide additional runtime status at @/status.json@.  Metrics can help you understand how components perform under load, find performance bottlenecks, and detect and diagnose problems.
14
15 To access metrics endpoints, services must be configured with a "management token":management-token.html. When accessing a metrics endpoint, prefix the management token with @"Bearer "@ and supply it in the @Authorization@ request header.
16
17 <pre>curl -sfH "Authorization: Bearer your_management_token_goes_here" "https://0.0.0.0:25107/status.json"
18 </pre>
19
20 h2. Keep-web
21
22 Keep-web exports metrics at @/metrics@ -- e.g., @https://collections.zzzzz.arvadosapi.com/metrics@.
23
24 table(table table-bordered table-condensed).
25 |_. Name|_. Type|_. Description|
26 |request_duration_seconds|summary|elapsed time between receiving a request and sending the last byte of the response body (segmented by HTTP request method and response status code)|
27 |time_to_status_seconds|summary|elapsed time between receiving a request and sending the HTTP response status code (segmented by HTTP request method and response status code)|
28
29 Metrics in the @arvados_keepweb_collectioncache@ namespace report keep-web's internal cache of Arvados collection metadata.
30
31 table(table table-bordered table-condensed).
32 |_. Name|_. Type|_. Description|
33 |arvados_keepweb_collectioncache_requests|counter|cache lookups|
34 |arvados_keepweb_collectioncache_api_calls|counter|outgoing API calls|
35 |arvados_keepweb_collectioncache_permission_hits|counter|collection-to-permission cache hits|
36 |arvados_keepweb_collectioncache_pdh_hits|counter|UUID-to-PDH cache hits|
37 |arvados_keepweb_collectioncache_hits|counter|PDH-to-manifest cache hits|
38 |arvados_keepweb_collectioncache_cached_manifests|gauge|number of collections in the cache|
39 |arvados_keepweb_collectioncache_cached_manifest_bytes|gauge|memory consumed by cached collection manifests|
40
41 h2. Keepstore
42
43 Keepstore exports metrics at @/status.json@ -- e.g., @http://keep0.zzzzz.arvadosapi.com:25107/status.json@.
44
45 h3. Root
46
47 table(table table-bordered table-condensed).
48 |_. Attribute|_. Type|_. Description|
49 |Volumes|         array of "volumeStatusEnt":#volumeStatusEnt ||
50 |BufferPool|      "PoolStatus":#PoolStatus ||
51 |PullQueue|       "WorkQueueStatus":#WorkQueueStatus ||
52 |TrashQueue|      "WorkQueueStatus":#WorkQueueStatus ||
53 |RequestsCurrent| int ||
54 |RequestsMax|     int ||
55 |Version|         string ||
56
57 h3(#volumeStatusEnt). volumeStatusEnt
58
59 table(table table-bordered table-condensed).
60 |_. Attribute|_. Type|_. Description|
61 |Label|         string||
62 |Status|        "VolumeStatus":#VolumeStatus ||
63 |VolumeStats|   "ioStats":#ioStats ||
64
65 h3(#VolumeStatus). VolumeStatus
66
67 table(table table-bordered table-condensed).
68 |_. Attribute|_. Type|_. Description|
69 |MountPoint| string||
70 |DeviceNum|  uint64||
71 |BytesFree|  uint64||
72 |BytesUsed|  uint64||
73
74 h3(#ioStats). ioStats
75
76 table(table table-bordered table-condensed).
77 |_. Attribute|_. Type|_. Description|
78 |Errors|     uint64||
79 |Ops|        uint64||
80 |CompareOps| uint64||
81 |GetOps|     uint64||
82 |PutOps|     uint64||
83 |TouchOps|   uint64||
84 |InBytes|    uint64||
85 |OutBytes|   uint64||
86
87 h3(#PoolStatus). PoolStatus
88
89 table(table table-bordered table-condensed).
90 |_. Attribute|_. Type|_. Description|
91 |BytesAllocatedCumulative|       uint64||
92 |BuffersMax|    int||
93 |BuffersInUse|  int||
94
95 h3(#WorkQueueStatus). WorkQueueStatus
96
97 table(table table-bordered table-condensed).
98 |_. Attribute|_. Type|_. Description|
99 |InProgress| int||
100 |Queued|     int||
101
102 h3. Example response
103
104 <pre>
105 {
106   "Volumes": [
107     {
108       "Label": "[UnixVolume /var/lib/arvados/keep0]",
109       "Status": {
110         "MountPoint": "/var/lib/arvados/keep0",
111         "DeviceNum": 65029,
112         "BytesFree": 222532972544,
113         "BytesUsed": 435456679936
114       },
115       "InternalStats": {
116         "Errors": 0,
117         "InBytes": 1111,
118         "OutBytes": 0,
119         "OpenOps": 1,
120         "StatOps": 4,
121         "FlockOps": 0,
122         "UtimesOps": 0,
123         "CreateOps": 0,
124         "RenameOps": 0,
125         "UnlinkOps": 0,
126         "ReaddirOps": 0
127       }
128     }
129   ],
130   "BufferPool": {
131     "BytesAllocatedCumulative": 67108864,
132     "BuffersMax": 20,
133     "BuffersInUse": 0
134   },
135   "PullQueue": {
136     "InProgress": 0,
137     "Queued": 0
138   },
139   "TrashQueue": {
140     "InProgress": 0,
141     "Queued": 0
142   },
143   "RequestsCurrent": 1,
144   "RequestsMax": 40,
145   "Version": "dev"
146 }
147 </pre>
148
149 h2. Node manager
150
151 The node manager status end point provides a snapshot of internal status at the time of the most recent wishlist update.
152
153 table(table table-bordered table-condensed).
154 |_. Attribute|_. Type|_. Description|
155 |nodes_booting|int|Number of nodes in booting state|
156 |nodes_unpaired|int|Number of nodes in unpaired state|
157 |nodes_busy|int|Number of nodes in busy state|
158 |nodes_idle|int|Number of nodes in idle state|
159 |nodes_fail|int|Number of nodes in fail state|
160 |nodes_down|int|Number of nodes in down state|
161 |nodes_shutdown|int|Number of nodes in shutdown state|
162 |nodes_wish|int|Number of nodes in the current wishlist|
163 |node_quota|int|Current node count ceiling due to cloud quota limits|
164 |config_max_nodes|int|Configured max node count|
165
166 h3. Example
167
168 <pre>
169 {
170   "actor_exceptions": 0,
171   "idle_times": {
172     "compute1": 0,
173     "compute3": 0,
174     "compute2": 0,
175     "compute4": 0
176   },
177   "create_node_errors": 0,
178   "destroy_node_errors": 0,
179   "nodes_idle": 0,
180   "config_max_nodes": 8,
181   "list_nodes_errors": 0,
182   "node_quota": 8,
183   "Version": "1.1.4.20180719160944",
184   "nodes_wish": 0,
185   "nodes_unpaired": 0,
186   "nodes_busy": 4,
187   "boot_failures": 0
188 }
189 </pre>