Envoy 管理接口

发布时间: 更新时间: 总字数:1544 阅读时间:4m 作者: IP上海 分享 网址

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: 仅导出名称匹配指定正则表达式的当前加载配置。可与 resourcemask查询参数一起使用。
    • 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): 启用记录重置的统计名称查询名称

参考

  1. https://www.envoyproxy.io/docs/envoy/latest/operations/admin
本文总阅读量 次 本站总访问量 次 本站总访客数
Home Archives Categories Tags Statistics