外部处理
此过滤器应使用类型 URL
type.googleapis.com/envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor配置。
外部处理过滤器将外部服务(称为“外部处理器”)连接到过滤器链。处理服务本身实现了一个 gRPC 接口,允许它通过检查和修改每个消息的标头、正文和尾部,或通过返回全新的响应来响应 HTTP 请求/响应生命周期中的事件。
协议本身基于双向 gRPC 流。Envoy 将向外部处理器发送 ProcessingRequest 消息,处理器必须使用 ProcessingResponse 消息进行回复。
提供配置选项来控制发送到处理器的事件。这样,处理器就可以接收请求和响应的标头、正文和尾部,无论它们以何种组合方式存在。处理器还可以逐消息地更改此配置。这允许构建复杂的处理器,它们决定如何单独响应每条消息,以消除代理不必要的流请求。
此过滤器仍在开发中。大多数主要功能已完成。可以在 参考页面 上找到支持功能和实现状态的更新列表。
统计信息
此过滤器在 http.<stat_prefix>.ext_proc. 命名空间中输出统计信息。 统计信息前缀 来自拥有 HTTP 连接管理器。
支持以下统计信息
名称 |
类型 |
描述 |
|---|---|---|
streams_started |
计数器 |
已启动以发送到外部处理服务的 gRPC 流的数量 |
streams_msgs_sent |
计数器 |
在这些流上发送的消息数量 |
streams_msgs_received |
计数器 |
在这些流上接收的消息数量 |
spurious_msgs_received |
计数器 |
接收到的意外消息数量,这些消息违反了协议 |
streams_closed |
计数器 |
在任一端成功关闭的流的数量 |
streams_failed |
计数器 |
流产生 gRPC 错误的次数 |
failure_mode_allowed |
计数器 |
由于配置而忽略错误的次数 |
message_timeouts |
计数器 |
消息在配置的超时时间内未能收到响应的次数 |
rejected_header_mutations |
计数器 |
拒绝的标头修改次数 |
clear_route_cache_ignored |
计数器 |
忽略的清除缓存请求的数量 |
clear_route_cache_disabled |
计数器 |
被拒绝的清除缓存请求数量,这些请求被禁用 |