Envoy 提供了一个本地管理接口,该接口可用于查询和修改服务器配置
配置启动配置
admin:
profile_path: /tmp/envoy.prof
address:
socket_address: { address: 127.0.0.1, port_value: 9901 }
对外暴露的接口
访问 127.0.0.1:9901/help
查每个管理员命令说明如下:
/
: HTML 格式的管理员主页
/allocprofiler (POST)
: 启用/禁用内存分配分析器(如果支持)
enable
: 启用/禁用内存分配分析器;取值之一为 (y, n)
/certs
: 打印机器上的证书,包括文件名,序列号,主题备用名称以及符合证书原型定义的 JSON 格式到期的天数
/clusters
: 上游集群状态,此信息包括每个群集中发现的所有上游主机以及每个主机统计信息,这对于调试服务发现问题很有用
/config_dump
: 导出当前 Envoy 配置(实验性)
resource
: 要导出的资源
mask
: 要应用的掩码。当同时指定 resource 和 mask 时,掩码将应用于所需重复字段中的每个元素,以便仅返回字段的子集。该掩码解析为 ProtobufWkt::FieldMask
name_regex
: 仅导出名称匹配指定正则表达式的当前加载配置。可与 resource
和 mask
查询参数一起使用。
include_eds
: 导出当前加载的配置,包括 EDS。更多信息请参阅响应定义
- 示例:
- http://127.0.0.1:9000/config_dump?resource=static_clusters&mask=&name_regex=
- http://127.0.0.1:9000/config_dump?resource=static_clusters&mask=cluster.name&name_regex=
- http://127.0.0.1:9000/config_dump?resource=dynamic_active_clusters&mask=&name_regex=
/contention
: 导出当前 Envoy 互斥锁竞争统计信息(如果已启用)
/cpuprofiler (POST)
: 启用/禁用 CPU 分析器
enable
: 启用 CPU 分析器;取值之一为 (y, n)
/drain_listeners (POST)
: 优雅关闭(排空)监听器
graceful
: 当排空监听器时,在关闭监听器之前进入一个优雅排空期。此行为和持续时间可通过服务器选项或 CLI 进行配置
skip_exit
: 当排空监听器时,排空期后不退出。这必须与 graceful
一起使用
inboundonly
: 排空所有入站监听器。 envoy_v3_api_msg_config.listener.v3.Listener
中的 traffic_direction
字段用于确定监听器是入站还是出站。
/healthcheck/fail (POST)
: 导致服务器健康检查失败
/healthcheck/ok (POST)
: 导致服务器健康检查通过
/heap_dump
: 导出当前 Envoy 堆(如果支持)
/heapprofiler (POST)
: 启用/禁用堆分析器
enable
: 启用/禁用堆分析器;取值之一为 (y, n)
/help
: 打印管理员命令列表
/hot_restart_version
: 打印热重启兼容版本
/init_dump
: 导出当前 Envoy 初始化管理器信息(实验性)
mask
: 要导出未就绪目标的所需组件。该掩码解析为 ProtobufWkt::FieldMask
。例如,使用 /init_dump?mask=listener
获取所有监听器的未就绪目标
/listeners
: 打印监听器信息
format
: 要使用的文件格式;取值之一为 (text, json)
/logging (POST)
: 查询/更改日志级别
paths
: 通过设置为 <logger_name1>:<desired_level1>,<logger_name2>:<desired_level2>
来更改多个日志级别。如果启用了细粒度日志记录,请使用 __FILE__
或全局表达式作为日志记录器名称。例如,source/common*:warning
level
: 所需的日志级别,这将更改所有日志记录器的级别;取值之一为 (, trace, debug, info, warning, error, critical, off)
/memory
: 打印当前分配/堆使用情况
/quitquitquit (POST)
: 退出服务器
/ready
: 打印服务器状态,如果 LIVE
则返回 200
,否则返回 503
/reopen_logs (POST)
: 重新打开访问日志
/reset_counters (POST)
: 将所有计数器重置为零
/runtime
: 打印运行时值
/runtime_modify (POST)
: 添加或修改通过查询参数传入的运行时值。要删除先前添加的键,请使用空字符串作为值。请注意,删除仅适用于通过此端点添加的覆盖;从磁盘加载的值可以通过覆盖修改但不能删除。例如:?key1=value1&key2=value2...
/server_info
: 打印服务器版本/状态信息
/stats
: 打印服务器统计信息
usedonly
: 仅包含自重启以来系统已写入的统计信息
filter
: 用于过滤统计信息的正则表达式 (Google re2
)
format
: 要使用的格式;取值之一为 (html, active-html, text, json)
type
: 要包含的统计信息类型;取值之一为 (All, Counters, Histograms, Gauges, TextReadouts)
histogram_buckets
: 直方图桶显示模式;取值之一为 (cumulative, disjoint, detailed, summary)
/stats/prometheus
: 以 Prometheus
格式打印服务器统计信息
usedonly
: 仅包含自重启以来系统已写入的统计信息
text_readouts
: 将 text_readouts
渲染为值为 0
的新仪表盘(会增加 Prometheus 数据大小)
filter
: 用于过滤统计信息的正则表达式 (Google re2
)
histogram_buckets
: 直方图桶显示模式;取值之一为 (cumulative, summary)
/stats/recentlookups
: 显示最近的统计名称查询
/stats/recentlookups/clear (POST)
: 清除统计名称查询列表和计数器
/stats/recentlookups/disable (POST)
: 禁用记录重置的统计名称查询名称
/stats/recentlookups/enable (POST)
: 启用记录重置的统计名称查询名称