Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

access log: support generic protocol #13085

Open
caitong93 opened this issue Sep 14, 2020 · 7 comments
Open

access log: support generic protocol #13085

caitong93 opened this issue Sep 14, 2020 · 7 comments
Labels
area/access_log design proposal Needs design doc/proposal before implementation help wanted Needs help!

Comments

@caitong93
Copy link

caitong93 commented Sep 14, 2020

Title: access log: support generic protocol

Description:

I want to add access log support for dubbo and thrift filter, but find out current access log formatter only support TCP / HTTP, and it cannot be extended. Any thoughts about implement a generic access log formatter ?
Thanks !

@caitong93 caitong93 added enhancement Feature requests. Not bugs or questions. triage Issue requires triage labels Sep 14, 2020
@mattklein123
Copy link
Member

See

message ExtensionFilter {

@mattklein123 mattklein123 added question Questions that are neither investigations, bugs, nor enhancements and removed enhancement Feature requests. Not bugs or questions. triage Issue requires triage labels Sep 14, 2020
@caitong93 caitong93 changed the title Support generic protocol access log formatter extension access log: support generic protocol Sep 15, 2020
@caitong93
Copy link
Author

caitong93 commented Sep 15, 2020

ExtensionFilter seems not what I'm looking for. Envoy::AccessLog::Instance, Envoy::AccessLog::Formatter, Envoy::AccessLog::FormatterProvider, and implementations of these interfaces, only support TCP / HTTP.

@lizan lizan added area/access_log design proposal Needs design doc/proposal before implementation and removed question Questions that are neither investigations, bugs, nor enhancements labels Oct 29, 2020
@lizan
Copy link
Member

lizan commented Oct 29, 2020

This seems a valid feature request but need design proposal. @mattklein123 the extension filter is about how we filter log entries, but it doesn't let access log support generic protocol, other than TCP / HTTP.

@cpakulski was looking into how to integrate MySQL logs (e.g. transaction logs which is in different layers than TCP), we saw same issue with current logging structure including ALS. It makes sense to have some extensible way to let TCP filters to emit custom logs easily (to access logger extensions, file/gRPC/etc).

@mattklein123
Copy link
Member

It makes sense to have some extensible way to let TCP filters to emit custom logs easily (to access logger extensions, file/gRPC/etc).

I agree. We actually need access logs for the DNS filter also at Lyft (cc @abaptiste) so whatever we come up with here can be used for that.

Naively I would think that the general HTTP/TCP system should work with possible protocol specific data extensions?

@mattklein123 mattklein123 added the help wanted Needs help! label Oct 29, 2020
@cpakulski
Copy link
Contributor

I am working on a prototype. The idea is to emit fairly flexible messages describing non-HTTP transactions, like database interactions. I could not fit them into gRPC message, as it is very HTTP specific.

@caitong93
Copy link
Author

add ref to #14175 , which might be related to this issue

@wbpcode
Copy link
Member

wbpcode commented Dec 11, 2020

Is there any progress here ? GRPC does make this problem very complex. Perhaps we could start by creating a generic file access logger for none HTTP protocol and gradually extend it to other access loggers such as GRPC.

@cpakulski @lizan @mattklein123

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/access_log design proposal Needs design doc/proposal before implementation help wanted Needs help!
Projects
None yet
Development

No branches or pull requests

5 participants