【发布时间】:2021-08-14 13:51:21
【问题描述】:
我在我的应用程序中使用 envoy 代理,并尝试通过以下三种方式打印日志:
- 采用固定的 ORDERING JSON 格式
- 需要将请求的请求和响应正文添加到日志中
- 我们能否添加路由级别的日志记录(启用/禁用),而不是使用 Lua?
以下所有场景日志级别都添加到我的应用程序的侦听器过滤器中。
#1:
我能够添加stdout 访问日志并能够以 JSON 格式打印日志,但无法以固定格式订购它们,例如第一个键应该是响应代码等等。每次 JSON 日志打印键更改的顺序。
#2:如何在我的日志中添加我的请求和响应正文?我试图找到特使支持的格式,但没有运气。
我需要在json_format 中添加哪些额外参数才能获取正文?
json_format": {"protocol": "%PROTOCOL%","duration": "%DURATION%","my_custom_header": "%REQ(MY_CUSTOM_HEADER)%"}
#3:我们能否在 envoy 中添加路由级别日志记录,并在路由级别启用/禁用?我阅读了文档,但找不到任何东西。
在 Lua 中,我们可以在路由级别添加如下所示,如果没有 Lua/其他插件,我们可以这样做吗?
envoy.filters.http.lua:
"@type": type.googleapis.com/envoy.extensions.filters.http.lua.v3.LuaPerRoute
# name: bye.lua
disabled : true
【问题讨论】:
-
您使用的是哪个 istio 版本?还请编辑您的问题并将您的代码粘贴为文本。不要使用图片。
-
我使用的是 envoy 而不是 istio。
-
你使用了 istio 标签,所以我的问题。
标签: proxy envoyproxy