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

internal_logs: Capture Failed Payload For Sink Errors #11311

Open
rlazimi-dev opened this issue Feb 10, 2022 · 2 comments
Open

internal_logs: Capture Failed Payload For Sink Errors #11311

rlazimi-dev opened this issue Feb 10, 2022 · 2 comments
Labels
domain: observability Anything related to monitoring/observing Vector source: internal_logs Anything `internal_logs` source related type: enhancement A value-adding code change that enhances its existing functionality.

Comments

@rlazimi-dev
Copy link

rlazimi-dev commented Feb 10, 2022

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Current Vector Version

vector 0.20.0 (x86_64-unknown-linux-gnu)

Use-cases

  • re-uploading failed payloads to another sink for further inspection
  • re-uploading failed payloads to a dead letter queue

Attempted Solutions

ideas i've had:

  • create an env var with the original payload when processing data, then access that env var when handling errors generated from internal_logs
  • reference one event from another unrelated event

Proposal

In internal_log events triggered by a sink error: record the payload that caused the sink to fail.

Rationale for Proposal

At a high level, I believe the solution is to pair a sink's error response with the vector event payload that caused that error response. This yields a vector event that is actionable – an event that contains all the information needed to fix pipeline logic issues.

References

@rlazimi-dev rlazimi-dev added the type: enhancement A value-adding code change that enhances its existing functionality. label Feb 10, 2022
@jszwedko jszwedko added domain: observability Anything related to monitoring/observing Vector source: internal_logs Anything `internal_logs` source related labels Feb 14, 2022
@jszwedko
Copy link
Member

Thanks @rlazimi-dev . We also have a related issue for dead-letter queues #1772 that I think could also resolve this by attaching the failure message to the event being routed to the dead letter queue.

@PavelGloba
Copy link

DLQ is more solid solution for this, but it's been 4 years since this feature was proposed. Maybe just logging the payload will be easier to implement as a sort of workaround and will solve a lot of issues, because currently we're blind in terms of figuring out which exact message caused the issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain: observability Anything related to monitoring/observing Vector source: internal_logs Anything `internal_logs` source related type: enhancement A value-adding code change that enhances its existing functionality.
Projects
None yet
Development

No branches or pull requests

3 participants