Merge branch 'patch-1' of https://github.com/mr-c/arvados into mr-c-patch-1
[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@. 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/metrics"
18 </pre>
19
20 The plain text export format includes "help" messages with a description of each reported metric.
21
22 When configuring Prometheus, use a @bearer_token@ or @bearer_token_file@ option to authenticate requests.
23
24 <pre>scrape_configs:
25   - job_name: keepstore
26     bearer_token: your_management_token_goes_here
27     static_configs:
28     - targets:
29       - "keep0.ClusterID.example.com:25107"
30 </pre>
31
32 table(table table-bordered table-condensed table-hover).
33 |_. Component|_. Metrics endpoint|
34 |arvados-api-server||
35 |arvados-controller|✓|
36 |arvados-dispatch-cloud|✓|
37 |arvados-git-httpd||
38 |arvados-node-manager||
39 |arvados-ws|✓|
40 |composer||
41 |keepproxy||
42 |keepstore|✓|
43 |keep-balance|✓|
44 |keep-web|✓|
45 |workbench1||
46 |workbench2||
47
48 h2. Node manager
49
50 The node manager does not export prometheus-style metrics, but its @/status.json@ endpoint provides a snapshot of internal status at the time of the most recent wishlist update.
51
52 <pre>curl -sfH "Authorization: Bearer your_management_token_goes_here" "http://0.0.0.0:8989/status.json"
53 </pre>
54
55 table(table table-bordered table-condensed).
56 |_. Attribute|_. Type|_. Description|
57 |nodes_booting|int|Number of nodes in booting state|
58 |nodes_unpaired|int|Number of nodes in unpaired state|
59 |nodes_busy|int|Number of nodes in busy state|
60 |nodes_idle|int|Number of nodes in idle state|
61 |nodes_fail|int|Number of nodes in fail state|
62 |nodes_down|int|Number of nodes in down state|
63 |nodes_shutdown|int|Number of nodes in shutdown state|
64 |nodes_wish|int|Number of nodes in the current wishlist|
65 |node_quota|int|Current node count ceiling due to cloud quota limits|
66 |config_max_nodes|int|Configured max node count|
67
68 h3. Example
69
70 <pre>
71 {
72   "actor_exceptions": 0,
73   "idle_times": {
74     "compute1": 0,
75     "compute3": 0,
76     "compute2": 0,
77     "compute4": 0
78   },
79   "create_node_errors": 0,
80   "destroy_node_errors": 0,
81   "nodes_idle": 0,
82   "config_max_nodes": 8,
83   "list_nodes_errors": 0,
84   "node_quota": 8,
85   "Version": "1.1.4.20180719160944",
86   "nodes_wish": 0,
87   "nodes_unpaired": 0,
88   "nodes_busy": 4,
89   "boot_failures": 0
90 }
91 </pre>