-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
[filebeat][input] - Websocket Input with CEL engine #37774
Conversation
This pull request does not have a backport label.
To fixup this pull request, you need to add the backport labels for the needed
|
❕ Build Aborted
Expand to view the summary
Build stats
Test stats 🧪
Test errorsExpand to view the tests failures
|
❕ Build Aborted
Expand to view the summary
Build stats
🤖 GitHub commentsExpand to view the GitHub comments
To re-run your PR in the CI, just comment with:
|
❕ Build Aborted
Expand to view the summary
Build stats
🤖 GitHub commentsExpand to view the GitHub comments
To re-run your PR in the CI, just comment with:
|
💚 Build Succeeded
Expand to view the summary
Build stats
Test stats 🧪
💚 Flaky test reportTests succeeded. 🤖 GitHub commentsExpand to view the GitHub comments
To re-run your PR in the CI, just comment with:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is a cursor a meaningful concept in this context? Aren't we at the whim of what the ws server sends us?
Yes indeed we are at the mercy of what the websocket sends us, but incase it sends a timestamp Along with the event, we could include a cursor based condition in the cel program to process events accordingly. This would be upto the end user to configure. |
…h to be more generic, added context in Dial method
@efd6 I've addressed all the PR suggestions and added the config tests |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
doc nits then LGTM
Co-authored-by: Dan Kortschak <90160302+efd6@users.noreply.github.com>
Co-authored-by: Dan Kortschak <90160302+efd6@users.noreply.github.com>
Co-authored-by: Dan Kortschak <90160302+efd6@users.noreply.github.com>
💚 Build Succeeded
History
cc @ShourieG |
💚 Build Succeeded
History
cc @ShourieG |
💚 Build Succeeded
History
cc @ShourieG |
💚 Build Succeeded
History
cc @ShourieG |
💚 Build Succeeded
History
cc @ShourieG |
💚 Build Succeeded
History
cc @ShourieG |
Type of change
Proposed commit message
Websocket input implementation based on Gorilla websockets. It uses the CEL engine and the mito library
for processing of responses and maintaining the cursor. This input can be used to ingest data from any modern websocket server.
Checklist
CHANGELOG.next.asciidoc
orCHANGELOG-developer.next.asciidoc
.Author's Checklist
How to test this PR locally
go mod tidy
to fetch any missing libraries.cd x-pack/filebeat
.go run main.go -e -d "websocket"
to start the input with filtering out relevant logs.Sample config:
To enable pretty printing on console, configure the following attributes in the filebeat.yml config:
Related issues
Use cases
Screenshots
Logs