-
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
Add elasticsearch/ingest_pipeline metricset #34012
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
|
Kudos, SonarCloud Quality Gate passed! |
Kudos, SonarCloud Quality Gate passed! |
Pinging @elastic/elastic-agent (Team:Elastic-Agent) |
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.
Overall LGTM. Left some minor comment. +1 on moving forward with it.
This pull request is now in conflicts. Could you fix it? 🙏
|
// format. It publishes the event which is then forwarded to the output. In case | ||
// of an error set the Error field of mb.Event or simply call report.Error(). | ||
func (m *IngestMetricSet) Fetch(report mb.ReporterV2) error { | ||
shouldSkip, err := m.ShouldSkipFetch() |
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.
ShouldSkipFetch will skip when we have a ScopeNode
and we're not talking to master. This is implemented in most metricsets because we hit an API that returns the global state from master and we don't need to collect individual nodes data, but this does not seem to apply here.
iiuc we want to fetch individual node data when the ScopeNode
, and hit the global API when ScopeCluster
so we should remove that call and implement our own logic (similar to the node_stats metricset)
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.
Good catch, thank you. I think I can just remove this entirely as I'm already setting the URI correctly on the lines below this. Do you agree?
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.
Sounds good
metricbeat/module/elasticsearch/ingest_pipeline/_meta/data.json
Outdated
Show resolved
Hide resolved
🚢 |
What does this PR do?
Depends on:
Ports elastic/integrations#4597 to metricbeat. This adds a new
ingest_pipeline
metricset to theelasticsearch
module of Metricbeat. This module does the following:The UI for visualizing this data will be included as a dashboard. Right now this is only being shipped in an Agent integration with support for Stack Monitoring and Metricbeat index patterns. In a follow up PR to Kibana, a link will be added from the Stack Monitoring UI to this dashboard, or direct the user to install the package to get the dashboard.
Here's a summary of the new fields that are added:
Why is it important?
With the adoption of Agent integrations, ingest pipeline performance is very important to overall ingest performance. Users have very little insight into this today and giving them dashboards and metrics from the existing ES APIs is a great first start in improving the situation.
Checklist
CHANGELOG.next.asciidoc
orCHANGELOG-developer.next.asciidoc
.Author's Checklist
How to test this PR locally
Related issues
Use cases
Screenshots
Logs