gloo icon indicating copy to clipboard operation
gloo copied to clipboard

Improved observability for HTTP parser issue

Open guydc opened this issue 2 years ago • 6 comments

Version

1.14.x (latest stable)

Is your feature request related to a problem? Please describe.

The envoy HTTP parser can fail to parse requests for various reasons. The failure reason is only reported when the http module log level is set debug.

EDIT: permalink for the log line in question: https://github.com/envoyproxy/envoy/blob/b4f37553d6887447f942a1aedbc8c2dacae45537/source/common/http/conn_manager_impl.cc#L397

Describe the solution you'd like

The parser error should be available as an HTTP access log command operator.

Describe alternatives you've considered

  • Setting the log level to debug is not a viable option for live environments
  • TCP dumps or taps are not a viable option for live environments
  • Request Shadowing and HTTP tap do not work when a parser error is encountered
  • Some parser errors appear to have a dedicated metric in the HCM's HTTP1 details. However, not all errors are covered, and metrics do not provide the request context (client IP, requested server name, etc.) that is necessary to investigate such issues.

Additional Context

No response

guydc avatar Jul 05 '23 12:07 guydc