标签:body handle respon request envoy lua response
envoyfilter.yaml
apiVersion: networking.istio.io/v1alpha3 kind: EnvoyFilter metadata: name: reviews-lua namespace: default #应用的名称空间 spec: workloadSelector: labels: app: crm-bms #app label configPatches: - applyTo: HTTP_FILTER match: context: SIDECAR_INBOUND listener: portNumber: 80 filterChain: filter: name: "envoy.filters.network.http_connection_manager" subFilter: name: "envoy.filters.http.router" patch: operation: INSERT_BEFORE value: name: envoy.lua typed_config: "@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua" inlineCode: | function envoy_on_request(request_handle) local request_body_buffer = request_handle:body() if(request_body_buffer == nil) then request_handle:streamInfo():dynamicMetadata():set("envoy.lua", "requestBody", "-") else local request_body_data = request_body_buffer:getBytes(0, request_body_buffer:length()) request_handle:streamInfo():dynamicMetadata():set("envoy.lua", "requestBody", request_body_data) end end function envoy_on_response(response_handle) local response_body_buffer = response_handle:body() if(response_body_buffer == nil) then response_handle:streamInfo():dynamicMetadata():set("envoy.lua", "responseBody", "-") else local response_body_data = response_body_buffer:getBytes(0, response_body_buffer:length()) response_handle:streamInfo():dynamicMetadata():set("envoy.lua", "responseBody", response_body_data) end end
将以上规则应用到集群,然后修改istio配置文件,定制日志格式: accessLogFormat: "%RESPONSE_CODE% %DYNAMIC_METADATA(envoy.lua)%\n"
用以下命令测试:curl -d '"test":"ok"' crm-bms
查看效果:
标签:body,handle,respon,request,envoy,lua,response 来源: https://www.cnblogs.com/dufeixiang/p/15745990.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。