-
Notifications
You must be signed in to change notification settings - Fork 101
Utilize new ES fleet polling API for global checkpoint monitoring #200
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
Utilize new ES fleet polling API for global checkpoint monitoring #200
Conversation
💚 Build Succeeded
Expand to view the summary
Build stats
Test stats 🧪
Trends 🧪 |
|
Updated implementation to the latest API changes, tested end-to end with agent/osquerybeat. Once the ES PR merges, can kick off the CI build again, to get it to pass the tests. |
|
The fleet system index polling API is available now with the latest elasticsearch docker image, just verified the integration tests are passing now. Opening up for code review. |
blakerouse
left a comment
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.
Looks good.
Didn't find anything that stood out. I want to do some testing with service tokens, once this is in to ensure those work with this as well. But no need to block on that.
scunningham
left a comment
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.
Looks ok. I'm not crazy about the special configuration casing on es.NewClient. I think we need to rethink how that works.
| case m.outCh <- hits: | ||
| maxVal := hits[sz-1].SeqNo | ||
| m.storeCheckpoint(maxVal) | ||
| m.storeCheckpoint([]int64{maxVal}) |
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.
type seqNo?
I'll add to my todo list past FF: to refactor the new client initialization |
* Utilize fleet polling API for global checkpoint monitoring * Adjust for API changes, configurable poll timeout * Update retryDelay to 3 secs * Update tests for monitor API change * Adjust to the latest API changes * Remove fleet indexes bootstrapping for tests, it is done by fleet system index plugin now * Fix unit tests (cherry picked from commit 13a5550)
…) (#243) * Utilize fleet polling API for global checkpoint monitoring * Adjust for API changes, configurable poll timeout * Update retryDelay to 3 secs * Update tests for monitor API change * Adjust to the latest API changes * Remove fleet indexes bootstrapping for tests, it is done by fleet system index plugin now * Fix unit tests (cherry picked from commit 13a5550) Co-authored-by: Aleksandr Maus <aleksandr.maus@elastic.co>
What does this PR do?
Utilize new ES fleet polling API for global checkpoint monitoring
elastic/elasticsearch#71093
Tested with the agent actions and osquerybeat, all works.
The tests will fail until the new ES API is merged.
Posting is as draft until then.
Why is it important?
This is more efficient that polling every second as we do right now.
Checklist