1.5.3 管理接口

优质
小牛编辑
129浏览
2023-12-01

Envoy公开了一个本地管理界面,可以用来查询和修改服务的不同方面:

  • v1 API 参考
  • v2 API 参考

GET /

打印所有可用的API清单

GET /certs

列出所有加载的TLS证书,包括文件名,序列号和到期日期。

GET /clusters

列出所有配置的集群管理器集群。此信息包括每个群集中发现的所有上游主机以及每个主机统计信息。这对服务发现的问题调试很有用。

  • 集群管理器信息
    version_info 字符串,上次加载的CDS服务版本信息的字符串。如果envoy没有安装CDS,将会读取version_info::static输出。

  • 集群信息

    • 所有优先级都设置熔断。
    • 如果使能了异常值检测,将会呈现成功率平均值和逐出阈值。如果在最后一个时间间隔内没有足够的数据来计算它们,那么这两个值都将是-1。
    • added_via_api标志,如果通过静态配置添加的集群,则为false,如果通过CDS API添加,则为true
  • 按主机统计

名称类型描述
cx_totalCounter连接总数
cx_activeGauge总活动连接数
cx_connect_failCounter总连接失败数
rq_totalCounter总请求数
rq_timeoutCounter总请求超时数
rq_successCounter带有非5xx响应的总请求数
rq_errorCounter带有5xx响应的总请求数
rq_activeGauge总活动请求数
healthyString主机的健康状况。 见下文
weightInteger负载平衡权重(1-100)
zoneString所在服务区域
canaryBoolean主机是否是金丝雀(灰度发布)状态
success_rateDouble请求成功率(0-100)。 如果间隔中没有足够的请求量来计算它,则返回-1
  • 主机健康状况
    由于一个或多个不健康的状态,主机可能是健康的或不健康的。
    如果主机健康,则会输出healthy字符串。 如果主机不健康,则会输出以下一个或多个字符串:

    /failed_active_hc:主机主动健康检查失败。
    /failed_outlier_check:主机未通过异常值检测检查。

GET /cpuprofiler

启用或禁用CPU分析器。需要与gperftools一起进行编译。

GET /healthcheck/fail

入站健康检查失败。这需要使用HTTP健康检查过滤器。这对于将要关闭服务或完全重新启动之前,逐出服务非常有用。无论过滤器如何配置,调用此命令都将执行健康检查失败的请求。

GET /healthcheck/ok

取消GET /healthcheck/fail的作用。这需要使用HTTP健康检查过滤器。

GET /hot_restart_version

参见--hot-restart-version

GET /logging

在不同的子系统上启用/禁用不同的日志记录级别。一般只在开发过程中使用。

GET /quitquitquit

干净地退出服务

GET /reset_counters

将所有计数器清零。在调试过程中,这对GET /stats很有用。请注意,这不会影响任何发送到statsd的数据。它只会影响GET /stats本地命令的输出。

GET /routes?route_config_name=\

此接口仅在envoy具有配置RDS的HTTP路由时才可用。如果指定了查询,则此接口会转储所有已配置的HTTP路由表,或者仅转储与route_config_name查询匹配的HTTP路由表。

GET /server_info

输出有关运行的服务器的信息。输出示例如下所示:

envoy 267724/RELEASE live 1571 1571 0

这些字段是:

  • 进程名称
  • 编译SHA和生成类型
  • 健康检查状态(活跃或逐出)
  • 当前热重启时间,以秒为单位
  • 正常运行总时间(跨所有热重启阶段),以秒为单位
  • 当前热重启的迭代数

GET /stats

输出所有需要的统计数据。这只包计数和测量值。直方图不会输出,因为Envoy目前没有内置直方图,依赖statsd进行汇总。这个命令对本地调试非常有用。浏览此处获取更多信息。

  • GET /stats?format=json
    以JSON格式的输出统计信息。这个统计信息支持编程对接。

  • GET /stats?format=prometheus
    Prometheus v0.0.4格式的输出。这可以用来与Prometheus服务器集成。目前,只有计数器和计量器输出。直方图将在未来版本中提供。

返回

  • 上一级