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

[Stack Monitoring] Support for integrations #120415

Closed
33 tasks done
neptunian opened this issue Dec 3, 2021 · 9 comments
Closed
33 tasks done

[Stack Monitoring] Support for integrations #120415

neptunian opened this issue Dec 3, 2021 · 9 comments
Assignees
Labels
epic Feature:Stack Monitoring Team:Infra Monitoring UI - DEPRECATED DEPRECATED - Label for the Infra Monitoring UI team. Use Team:obs-ux-infra_services
Milestone

Comments

@neptunian
Copy link
Contributor

neptunian commented Dec 3, 2021

Summary

The Stack Monitoring-supported integration packages (elasticsearch, kibana, logstash) are currently in an experimental state. While Stack Monitoring added support to read from the datastreams created by these integrations in 8.1, there are remaining issues that prevents the packages from being an official source of metrics powering the SM UI.

This issue tracks the effort to bring these integration packages to a GA state, providing feature parity with the 8.x beats modules running in standalone mode in the Stack Monitoring UI.

Useful links:

(1) Initial functionality

Utils

Packages

Stack Monitoring

(2) Testing

(3) Documentation

(4) Release

(5) Clean up

Acceptance criteria:

  • Stack Monitoring UI is enable-able by installing elastic-agent and the Elasticsearch/Kibana/Logstash packages
  • Stack Monitoring UI and alerts behave similarly when reading data from metricbeat or from the packages
  • Troubleshooting documentation exists to provide guidance in onprem/cloud issues
  • A dashboard provides insights in usage
@botelastic botelastic bot added the needs-team Issues missing a team label label Dec 3, 2021
@neptunian neptunian added the Team:Infra Monitoring UI - DEPRECATED DEPRECATED - Label for the Infra Monitoring UI team. Use Team:obs-ux-infra_services label Dec 3, 2021
@elasticmachine
Copy link
Contributor

Pinging @elastic/infra-monitoring-ui (Team:Infra Monitoring UI)

@botelastic botelastic bot removed the needs-team Issues missing a team label label Dec 3, 2021
@smith smith added Platform Observability Platform Observability WG issues https://github.com/elastic/observability-dev/issues/2055 and removed Platform Observability Platform Observability WG issues https://github.com/elastic/observability-dev/issues/2055 labels Aug 16, 2022
@smith smith assigned klacabane and unassigned matschaffer Aug 17, 2022
@matschaffer
Copy link
Contributor

@crespocarlos @klacabane I was just noticing we don't have integrations (I think) that would cover:

  • beats
  • apm server (integration server)
  • enterprise search

Those 3 components can be activated in the Stack Monitoring UI, so I'm not sure we can recommend migrating to agent/package based until we have packages for those.

@crespocarlos
Copy link
Contributor

Yeah. Fair point. I don't think we have either.

I'm wondering if we could make Kibana, Logstash and ES packages production ready and start with them - perhaps they can be tagged as beta for now. The SM UI will work with both methods anyways. We can't surely recommend phasing out metricbeat for SM without having all the packages, but users could start using the packages.

The remaining packages will gradually be released and, once we're done, we'll change the documentation to recommend the migration.

@matschaffer
Copy link
Contributor

Per discussion yesterday, beats and apm-server might be covered by the agent package. In an agent-based setup we probably don't need a beats monitoring package.

So that'd just leave enterprise search on the list of things that Stack Monitoring supports today that we don't have observability packages for.

@miltonhultgren
Copy link
Contributor

Does that also apply for APM Server running outside of Elastic Agent?

@matschaffer
Copy link
Contributor

What I got from @klacabane is that we might be able to assume standalone apm server doesn't exist in the agent/package-based world.

Current stack-monitoring for standalone apm server can continue to be done using standalone metricbeat (or probably even internal collection for some time).

@klacabane
Copy link
Contributor

I think this boils down to how we want the transition to agent to happen and if we want the SM experience to remain the same as a first step of the migration, or if we're fine moving into integration territory earlier and breach the parity milestone that this ticket aims at. For elasticsearch/kibana/logstash the answer is yes, and I would add enterprise search to that list. The reason is that we have clear plans for these with Platform Observability. For beats and apm server I'm not sure:

  • Beats is an implementation detail in agent world and I don't think we want the agent abstraction to be leaky, mostly because it can confuse users and beats will be eventually deprecated so this is a good opportunity to already get rid of the concept. So here what we could do is to detect whether metrics are collected by agent and offer a redirection to the Agent integration (maybe a dashboard if we have a reference) under the stack monitoring Beats section
  • in both standalone/fleet cases the Apm integration needs to be installed so any dashboards that it contains will be available. We can have a mechanism similar to the beats one and take the opportunity to jump over the SM parity step. Alternatively the parity step could probably be achieved by adding the apm indices in stack monitoring if the documents are similarly shaped, so that's low effort and I'm fine with that as well

@klacabane
Copy link
Contributor

klacabane commented Oct 13, 2022

After looking at apm-server it looks like the metrics are not automatically collected by agent when running as a subprocess and needs a separate metricbeat to collect them. For the beats subprocesses, the metrics are collected at metrics-elastic_agent.(metricbeat|filebeat)-*. One thing I forgot is that beats are not only filebeat and metricbeat spawned by agent but could also be independant heartbeat, auditbeat.. that may not have a corresponding entry in the agent catalog so we should still be able to monitor these with agent.

So for beats, including apm-server, it looks like we need two things:

  • read from metrics-elastic_agent.*beat-* to surface metricbeat and filebeat spawned by agent
  • create a beats package that collects metrics of independant beats and apm-server

We could also investigate if agent would be able to collect apm-server metrics itself just like it does for the beats


Digging a bit further I see references of metrics-elastic_agent.apm_server-*, metrics-elastic_agent.heartbeat-* ... so everything should already be there and it would just be a matter of adding these indices to the right places in Stack Monitoring

@klacabane
Copy link
Contributor

Closing as all tasks here are complete. Follow ups will be created directly on the board

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic Feature:Stack Monitoring Team:Infra Monitoring UI - DEPRECATED DEPRECATED - Label for the Infra Monitoring UI team. Use Team:obs-ux-infra_services
Projects
None yet
Development

No branches or pull requests

7 participants