-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Add file log exporter #6316
Comments
Let's make sure we approach this from the perspective of the actual real-world use cases.
This does not seem to be a Collector job. There are other tools that can do this (e.g. rsync), not clear why it needs to be a Collector feature.
Both of these use-cases likely can be served with one standardized file format. These do not appear to require the file format to be customizable by the end user in any way. In fact it may be preferable that that the file format is not customizable so that mistakes are not possible. I believe if we want a standard file format then it is best to define it as part of the specification, for which we have an open issue open-telemetry/opentelemetry-specification#1443
I do not see which of the listed use-cases require this. Perhaps add a use-case to justify or remove the requirement. |
Rsync can indeed work but with lots of drawbacks (discovery of new dir/files not supported, tailing not supported...).
which adds big overhead when log files are often updated. I still believe that it's a valid use case of a log collector, as it collects logs, ships them, and route them to files with configurable format. Multiplying log collection tooling and adding many side cars in a pod can increase operation complexity as well as resource requirements. It's an actual use case that I currently face.
It was in the case of the first use case where the target file name and location could not be determined at pipeline creation time. Another use case is to be able to write to different file/location based on the kubernetes pod_name that produced the data.
Agree. |
@tigrannajaryan is there something I'm missing about rsync for my use case ? |
@hypnoce there is currently #7840 and open-telemetry/opentelemetry-specification#2235 in progress, which may help to cover the use cases that you have. The Collector is about a receiver, but once the JSON format is standardized it should be easy to make an argument that we can also have an exporter of the same format. Review those 2 PRs, comment on them. |
This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping |
Hey all, |
This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping |
Please don't close it. Nice bot 😅 |
This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping |
Feature is still wanted |
This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping |
This issue has been closed as inactive because it has been stale for 120 days with no activity. |
Is your feature request related to a problem? Please describe.
The current file exporter/receiver lacks many features that can make it usable in more scenarios than debug :
Further reading : #4997
Describe the solution you'd like
A file exporter flexible enough to cover many scenarios
Describe alternatives you've considered
Creating a simple filelog exporter #6306. No other solution worked in the otel ecosystem.
Requirements of file exporter
/
.
are valid directories../logs/{namespace}/otel.{podname}.{original_file_name}
. Or a single file can be statically defined per exporter.I would decouple the file format specification in another issue. A formal, general, replayable file format/encoding can be used in other contexts like export to other storage like S3, kafka...
The text was updated successfully, but these errors were encountered: