20229: Add "inspecting active requests" page. 20229-doc-inspect-requests
authorTom Clegg <tom@curii.com>
Mon, 15 May 2023 20:39:16 +0000 (16:39 -0400)
committerTom Clegg <tom@curii.com>
Mon, 15 May 2023 20:39:16 +0000 (16:39 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

doc/_config.yml
doc/admin/inspect.html.textile.liquid [new file with mode: 0644]
doc/admin/metrics.html.textile.liquid

index 4f86253018b42865233ede6375f78dc04c379567..2a6a581e83d0e6099d07c27e6c735ca8d67920ec 100644 (file)
@@ -184,6 +184,7 @@ navbar:
       - admin/logging.html.textile.liquid
       - admin/metrics.html.textile.liquid
       - admin/health-checks.html.textile.liquid
+      - admin/inspect.html.textile.liquid
       - admin/diagnostics.html.textile.liquid
       - admin/management-token.html.textile.liquid
       - admin/user-activity.html.textile.liquid
diff --git a/doc/admin/inspect.html.textile.liquid b/doc/admin/inspect.html.textile.liquid
new file mode 100644 (file)
index 0000000..f75a60a
--- /dev/null
@@ -0,0 +1,69 @@
+---
+layout: default
+navsection: admin
+title: Inspecting active requests
+...
+
+{% comment %}
+Copyright (C) The Arvados Authors. All rights reserved.
+
+SPDX-License-Identifier: CC-BY-SA-3.0
+{% endcomment %}
+
+Most Arvados services publish a snapshot of HTTP requests currently being serviced at @/_inspect/requests@. This can be useful for troubleshooting slow requests and understanding high server load conditions.
+
+To access snapshots, services must be configured with a "management token":management-token.html. When accessing this endpoint, prefix the management token with @"Bearer "@ and supply it in the @Authorization@ request header.
+
+In an interactive setting, use the @jq@ tool to format the JSON response.
+
+<pre>curl -sfH "Authorization: Bearer your_management_token_goes_here" "https://0.0.0.0:25107/_inspect/requests" | jq .
+</pre>
+
+table(table table-bordered table-condensed table-hover).
+|_. Component|_. @/_inspect/requests@ endpoint|
+|arvados-api-server||
+|arvados-controller|✓|
+|arvados-dispatch-cloud|✓|
+|arvados-dispatch-lsf|✓|
+|arvados-git-httpd||
+|arvados-ws|✓|
+|composer||
+|keepproxy|✓|
+|keepstore|✓|
+|keep-balance|✓|
+|keep-web|✓|
+|workbench1||
+|workbench2||
+
+h2. Report fields
+
+Most fields are self explanatory.
+
+The @Host@ field reports the virtual host specified in the incoming HTTP request.
+
+The @RemoteAddr@ field reports the source of the incoming TCP connection, which is typically a local address associated with the Nginx proxy service.
+
+The @Elapsed@ field reports the number of seconds since the incoming HTTP request headers were received.
+
+h2. Example
+
+<pre>
+[
+  {
+    "RequestID": "req-1vzzj6nwrki0rd2hj08a",
+    "Method": "GET",
+    "Host": "tordo.arvadosapi.com",
+    "URL": "/arvados/v1/groups?order=name+asc&filters=[[%22owner_uuid%22,%22%3D%22,%22zzzzz-tpzed-aaaaaaaaaaaaaaa%22],[%22group_class%22,%22in%22,[%22project%22,%22filter%22]]]",
+    "RemoteAddr": "127.0.0.1:55822",
+    "Elapsed": 0.006363228
+  },
+  {
+    "RequestID": "req-1wrof2b2wlj5s1rao4u3",
+    "Method": "GET",
+    "Host": "tordo.arvadosapi.com",
+    "URL": "/arvados/v1/users/current",
+    "RemoteAddr": "127.0.0.1:55814",
+    "Elapsed": 0.04796585
+  }
+]
+</pre>
index b140bcc1badda0c2996725bf62a026345c0646c6..660b3b8f3f26efa0ee27c5a9a98dde6bc00e7a49 100644 (file)
@@ -38,7 +38,7 @@ table(table table-bordered table-condensed table-hover).
 |arvados-git-httpd||
 |arvados-ws|✓|
 |composer||
-|keepproxy||
+|keepproxy||
 |keepstore|✓|
 |keep-balance|✓|
 |keep-web|✓|