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

feat(quickwit): add quickwit integration #1409

Closed
wants to merge 3 commits into from

Conversation

idrissneumann
Copy link

@idrissneumann idrissneumann commented Mar 27, 2024

Description

Hi. For now it's still draft but I'm exploring how elastalert2 can comply with Quickwit.

To provide a bit of context:

  • I use to enjoy working with elastalert several years ago and even rebuild version for ARM32, I'm pretty convinced that it's still a relevant tool for alerting used as an external microservice
  • Quickwit is one of the best log and traces search engine on the market and I'm use to contribute in order to provide integration to other opensource project (around the CNCF ecosystem) such as Falcosidekick, Odigos, and Grafana datasource for quickwit
  • Quickwit has a level of interoperability with the Elastic/Opensearch API for the read query, that been said, we have to handle the mapping creation of the indexes, add a /api/v1/_elastic suffix to the URL, etc

Checklist

  • I have reviewed the contributing guidelines.
  • I have included unit tests for my changes or additions.
  • I have successfully run make test-docker with my changes.
  • I have manually tested all relevant modes of the change in this PR.
  • I have updated the documentation.
  • I have updated the changelog.

Questions or Comments

@jertel
Copy link
Owner

jertel commented Mar 27, 2024

This sounds great! I'm looking forward to trying it out.

@idrissneumann idrissneumann force-pushed the feat_quickwit branch 19 times, most recently from e4e78ce to 39995fb Compare March 28, 2024 11:29
Copy link
Owner

@jertel jertel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know this is a work in progress, but I figured I'd review it as you go to help me follow along.

elastalert/create_index.py Outdated Show resolved Hide resolved
elastalert/create_index.py Outdated Show resolved Hide resolved
elastalert/util.py Outdated Show resolved Hide resolved
elastalert/util.py Outdated Show resolved Hide resolved
elastalert/util.py Outdated Show resolved Hide resolved
chart/elastalert2/values.yaml Show resolved Hide resolved
@idrissneumann idrissneumann force-pushed the feat_quickwit branch 6 times, most recently from 22e765f to 5d34955 Compare March 28, 2024 17:02
@idrissneumann
Copy link
Author

idrissneumann commented Mar 28, 2024

I know this is a work in progress, but I figured I'd review it as you go to help me follow along.

No problem at all. I'm still figuring out if it's really compliant or not. For example with real test, I have this:

qw_tests-elastalert-1  | ERROR:elastalert:Error finding recent pending alerts: RequestError(400, '{\n  "message": "OneOrMany could not deserialize any variant:\\n  One: unknown field `from`, expected one of `gt`, `gte`, `lt`, `lte`, `boost`\\n  Many: invalid type: map, expected a sequence at line 1 column 206"\n}') {'query': {'bool': {'must': {'query_string': {'query': '!_exists_:aggregate_id AND alert_sent:false'}}, 'filter': {'range': {'alert_time': {'from': '2024-03-26T17:09:24.709242Z', 'to': '2024-03-28T17:09:24.709947Z'}}}}}, 'sort': {'alert_time': {'order': 'asc'}}}

Maybe @fmassot can help to see if it's something we can fix on quickwit side or not.

For the rest, I'll take care of all your feedbacks, thanks for thoses.

Signed-off-by: Idriss Neumann <idriss.neumann@comwork.io>
@idrissneumann idrissneumann force-pushed the feat_quickwit branch 4 times, most recently from c65be30 to f6a029f Compare March 29, 2024 14:01
…call some non-elastic endpoints + multiple fixes

Signed-off-by: Idriss Neumann <idriss.neumann@comwork.io>
Copy link

This PR is stale because it has been open for 30 days with no activity. The longer a PR remains stale the more out of date with the main branch it becomes.

@github-actions github-actions bot added the Stale label Apr 28, 2024
Copy link

This PR was closed because it has been inactive for 30 days since being marked as stale. It will be automatically locked after an additional 30 days. If there is still a commitment to finishing this PR please re-open it, or request that a project maintainer re-open it before it becomes locked.

@github-actions github-actions bot closed this May 28, 2024
@rahmat-multiplier
Copy link

rahmat-multiplier commented Oct 4, 2024

@idrissneumann may I know if this is already completed or anything left? I really want to use quickwit but currently we are actively using elastalert to manage log based alert. anyway, love your work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants