-
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
Metricbeat enterprise search module: add xpack.enabled support #29871
Metricbeat enterprise search module: add xpack.enabled support #29871
Conversation
This pull request does not have a backport label. Could you fix it @carlosdelest? 🙏
NOTE: |
💚 Build Succeeded
Expand to view the summary
Build stats
Test stats 🧪
💚 Flaky test reportTests succeeded. 🤖 GitHub commentsTo re-run your PR in the CI, just comment with:
|
Pinging @elastic/integrations (Team:Integrations) |
@carlosdelest Is enterprise search already today with a different mechanism shipping metrics to the .monitoring index? If no, I wonder why we need this? @jasonrhodes I would assume stack monitoring can pick up data from any index assuming the user permissions match? |
Hi @ruflin : Enterprise Search can't use Metricbeat 8.0 to ship monitoring information, as Metricbeat no longer supports ILM settings that allows shipping to Enterprise Search 8.0 will be using a bundled 7.16 Metricbeat version so it can ship monitoring information using an ILM-backed This is temporary, as the final picture would be for Enterprise Search to use Metricbeat 8.x with Stack Monitoring will be able to gather Enterprise Search monitoring as long as it is sent to Happy to discuss and consider alternatives! |
@ruflin this surprises me as well. I assumed that since this is a new metricbeat module, there's no reason to maintain any xpack.enabled fork. I'm re-reading the conversation over here: elastic/kibana#121975 (comment) My question for @carlosdelest (and possibly for @sayden / @klacabane) is: does the enterprise search MB module need to be able to write to metricbeat-* for any reason going forward? If not, can we at the very least hardcode xpack.enabled: true as the only way for this module to run, even if that flag technically needs to be set for MB internals to write the data to the correct indices? |
Not that I can think of, unless we wanted to use Metricbeat 8.x with a Kibana + Enterprise Search 7.16. I agree on hardcoding Is this the way to go as well for the rest of the solutions, so we are aligned with them? |
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.
I tested this today along with the ES change and this metricbeat config:
- module: enterprisesearch
xpack.enabled: true
period: 10s
hosts: ["http://localhost:3002"]
username: elastic
password: changeme
Looks good!
@@ -24,7 +24,7 @@ services: | |||
- 3002:3002 | |||
|
|||
elasticsearch: | |||
image: docker.elastic.co/integrations-ci/beats-elasticsearch:${ELASTICSEARCH_VERSION:-7.15.0}-1 | |||
image: docker.elastic.co/integrations-ci/beats-elasticsearch:${ELASTICSEARCH_VERSION:-8.0.0-SNAPSHOT}-1 |
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.
Maybe this should be 8.1? I'm still not totally clear on where these compose files factor into the release pipeline, so feel free to ignore if I'm wrong.
|
||
- module: enterprisesearch | ||
xpack.enabled: true | ||
metricsets: ["health", "stats"] |
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.
Do we need the metricsets? The elasticsearch module specifies a locked metricset when running in xpack mode
xpackEnabledMetricSets := []string{ |
Seems to work find w/o the list in my testing. Maybe because it just enables all of them.
The part I'm still missing, is there anything else already today writing to |
I believe not.
@ruflin , I agree on hardcoding Is this the way to go as well for the rest of the solutions, so we are aligned with them? |
It might be a bit unexpected from a user perspective that metricbeat has a module which cannot ship to metricbeat-* indices but at the same time if there are no dashboards and the data is only for internal use why support it in the first place. For all the other stack monitoring modules, a discussion is ongoing on how we get to My understanding of hardcoding @jasonrhodes Does this align with your long term plan for stack monitoring? |
pinging @ravikesarwani for comments . Thanks! |
I will let @jasonrhodes weigh in on this as well but as I understand the current UI code (8.0) doesn't read from metrics-*. The Agent package will write to metrics-* and provide backward compatibility from UI perspective and that's where we are heading for all stack packages including Enterprise search. This is where we will focus on adding default dashboards etc. as well. There's already quite a bit of complexities and IMO making one metricbeat module work completely different will just to the confusion from users perspective. |
Basic support for They're present and we've validated that the changes don't break the It might just work, but I think we should still merge this change to minimize the number of ent search releases that might land documents in the no-longer-queried Then we can work on a comprehensive change from |
Thanks for all your feedback on this issue! Re I'll let the PR as is, and I'll be merging this tomorrow unless some objection is raised. |
|
|
I'm stumbling over the |
My bad 😅 . It's |
…k-version-after-8-0-creation * upstream/master: (69 commits) Update stale config following (elastic#30082) Make include_matches backwards compatible with 7.x config (elastic#30032) [Filebeat] Update handling of elasticsearch server logs (elastic#30018) Remove SSL3 support from libbeat and its documentation. (elastic#30071) Revert "Packaging: rename arm64 suffix to aarch64 in the tar.gz artifacts ONLY (elastic#28813)" (elastic#30083) [libbeat] Add script processor to all beats (elastic#29752) Add fonts to support more different types of characters for multiple languages (elastic#29861) libbeat/reader: Fix messge conversion to beat.Event (elastic#30057) probot[stale]: ignore issues with the tag flaky-test (elastic#30065) [DOCS] Add redirect for GSuite module (elastic#30034) [Automation] Update elastic stack version to 8.1.0-aa69d697 for testing (elastic#30012) Remove msitools install for windows build, using the latest docker image with msitools preinstalled (elastic#30040) filebeat/generator/fields: fix dropped error (elastic#29943) Include the error message with auditd module events (elastic#30009) [Metricbeat] gcp: add firestore metricset (elastic#29918) probot: update stale dates (elastic#29997) Metricbeat enterprise search module: add xpack.enabled support (elastic#29871) x-pack/packetbeat: install Npcap at start-up when required (elastic#29112) [Filebeat] Fix panic in decode_cef when recovering from invalid data (elastic#30038) Correctly fixe how selected packages are defined (elastic#30039) ...
What does this PR do?
Add
xpack.enabled
support for Enterprise Search Metricbeat module.This allows metrics retrieved to be available in Stack Monitoring Kibana plugin, as this plugin changes the indices retrieved from
.metricbeat-*
to.monitoring-*
.xpack.enabled: true
allows changing the index to be used to .monitoring-*, as already implemented for Elasticsearch, Kibana and Logstash modules.Why is it important?
This change is needed to allow Enterprise Search Metricbeat module to produce metrics that can be consumed by Stack Monitoring Kibana plugin. Stack Monitoring won't display Enterprise Search metrics otherwise.
Checklist
I have commented my code, particularly in hard-to-understand areasCHANGELOG.next.asciidoc
orCHANGELOG-developer.next.asciidoc
.Related issues