You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
6.2 KiB
162 lines
6.2 KiB
.. _operations_admin_interface: |
|
|
|
Administration interface |
|
======================== |
|
|
|
Envoy exposes a local administration interface that can be used to query and |
|
modify different aspects of the server: |
|
|
|
* :ref:`v1 API reference <config_admin_v1>` |
|
* :ref:`v2 API reference <envoy_api_msg_Admin>` |
|
|
|
.. http:get:: / |
|
|
|
Print a menu of all available options. |
|
|
|
.. http:get:: /certs |
|
|
|
List out all loaded TLS certificates, including file name, serial number, and days until |
|
expiration. |
|
|
|
.. _operations_admin_interface_clusters: |
|
|
|
.. http:get:: /clusters |
|
|
|
List out all configured :ref:`cluster manager <arch_overview_cluster_manager>` clusters. This |
|
information includes all discovered upstream hosts in each cluster along with per host statistics. |
|
This is useful for debugging service discovery issues. |
|
|
|
Cluster manager information |
|
- ``version_info`` string -- the version info string of the last loaded |
|
:ref:`CDS<config_cluster_manager_cds>` update. |
|
If envoy does not have :ref:`CDS<config_cluster_manager_cds>` setup, the |
|
output will read ``version_info::static``. |
|
|
|
Cluster wide information |
|
- :ref:`circuit breakers<config_cluster_manager_cluster_circuit_breakers>` settings for all priority settings. |
|
|
|
- Information about :ref:`outlier detection<arch_overview_outlier_detection>` if a detector is installed. Currently |
|
:ref:`success rate average<arch_overview_outlier_detection_ejection_event_logging_cluster_success_rate_average>`, |
|
and :ref:`ejection threshold<arch_overview_outlier_detection_ejection_event_logging_cluster_success_rate_ejection_threshold>` |
|
are presented. Both of these values could be ``-1`` if there was not enough data to calculate them in the last |
|
:ref:`interval<config_cluster_manager_cluster_outlier_detection_interval_ms>`. |
|
|
|
- ``added_via_api`` flag -- ``false`` if the cluster was added via static configuration, ``true`` |
|
if it was added via the :ref:`CDS<config_cluster_manager_cds>` api. |
|
|
|
Per host statistics |
|
.. csv-table:: |
|
:header: Name, Type, Description |
|
:widths: 1, 1, 2 |
|
|
|
cx_total, Counter, Total connections |
|
cx_active, Gauge, Total active connections |
|
cx_connect_fail, Counter, Total connection failures |
|
rq_total, Counter, Total requests |
|
rq_timeout, Counter, Total timed out requests |
|
rq_success, Counter, Total requests with non-5xx responses |
|
rq_error, Counter, Total requests with 5xx responses |
|
rq_active, Gauge, Total active requests |
|
healthy, String, The health status of the host. See below |
|
weight, Integer, Load balancing weight (1-100) |
|
zone, String, Service zone |
|
canary, Boolean, Whether the host is a canary |
|
success_rate, Double, "Request success rate (0-100). -1 if there was not enough |
|
:ref:`request volume<config_cluster_manager_cluster_outlier_detection_success_rate_request_volume>` |
|
in the :ref:`interval<config_cluster_manager_cluster_outlier_detection_interval_ms>` |
|
to calculate it" |
|
|
|
Host health status |
|
A host is either healthy or unhealthy because of one or more different failing health states. |
|
If the host is healthy the ``healthy`` output will be equal to *healthy*. |
|
|
|
If the host is not healthy, the ``healthy`` output will be composed of one or more of the |
|
following strings: |
|
|
|
*/failed_active_hc*: The host has failed an :ref:`active health check |
|
<config_cluster_manager_cluster_hc>`. |
|
|
|
*/failed_outlier_check*: The host has failed an outlier detection check. |
|
|
|
.. http:get:: /cpuprofiler |
|
|
|
Enable or disable the CPU profiler. Requires compiling with gperftools. |
|
|
|
.. _operations_admin_interface_healthcheck_fail: |
|
|
|
.. http:get:: /healthcheck/fail |
|
|
|
Fail inbound health checks. This requires the use of the HTTP :ref:`health check filter |
|
<config_http_filters_health_check>`. This is useful for draining a server prior to shutting it |
|
down or doing a full restart. Invoking this command will universally fail health check requests |
|
regardless of how the filter is configured (pass through, etc.). |
|
|
|
.. _operations_admin_interface_healthcheck_ok: |
|
|
|
.. http:get:: /healthcheck/ok |
|
|
|
Negate the effect of :http:get:`/healthcheck/fail`. This requires the use of the HTTP |
|
:ref:`health check filter <config_http_filters_health_check>`. |
|
|
|
.. http:get:: /hot_restart_version |
|
|
|
See :option:`--hot-restart-version`. |
|
|
|
.. http:get:: /logging |
|
|
|
Enable/disable different logging levels on different subcomponents. Generally only used during |
|
development. |
|
|
|
.. http:get:: /quitquitquit |
|
|
|
Cleanly exit the server. |
|
|
|
.. http:get:: /reset_counters |
|
|
|
Reset all counters to zero. This is useful along with :http:get:`/stats` during debugging. Note |
|
that this does not drop any data sent to statsd. It just effects local output of the |
|
:http:get:`/stats` command. |
|
|
|
.. _operations_admin_interface_routes: |
|
|
|
.. http:get:: /routes?route_config_name=<name> |
|
|
|
This endpoint is only available if envoy has HTTP routes configured via RDS. |
|
The endpoint dumps all the configured HTTP route tables, or only ones that |
|
match the ``route_config_name`` query, if a query is specified. |
|
|
|
.. http:get:: /server_info |
|
|
|
Outputs information about the running server. Sample output looks like: |
|
|
|
.. code-block:: none |
|
|
|
envoy 267724/RELEASE live 1571 1571 0 |
|
|
|
The fields are: |
|
|
|
* Process name |
|
* Compiled SHA and build type |
|
* Health check state (live or draining) |
|
* Current hot restart epoch uptime in seconds |
|
* Total uptime in seconds (across all hot restarts) |
|
* Current hot restart epoch |
|
|
|
.. _operations_admin_interface_stats: |
|
|
|
.. http:get:: /stats |
|
|
|
Outputs all statistics on demand. This includes only counters and gauges. Histograms are not |
|
output as Envoy currently has no built in histogram support and relies on statsd for |
|
aggregation. This command is very useful for local debugging. See :ref:`here <operations_stats>` |
|
for more information. |
|
|
|
.. http:get:: /stats?format=json |
|
|
|
Outputs /stats in JSON format. This can be used for programmatic access of stats. |
|
|
|
.. http:get:: /stats?format=prometheus |
|
|
|
Outputs /stats in `Prometheus <https://prometheus.io/docs/instrumenting/exposition_formats/>`_ |
|
v0.0.4 format. This can be used to integrate with a Prometheus server. Currently, only counters and |
|
gauges are outputed. Histograms will be outputed in a future update.
|
|
|