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

[Fleet] APM Server managed by Elastic Agent with Fleet - 7.12 #4558

Closed
15 tasks done
jalvz opened this issue Dec 16, 2020 · 8 comments
Closed
15 tasks done

[Fleet] APM Server managed by Elastic Agent with Fleet - 7.12 #4558

jalvz opened this issue Dec 16, 2020 · 8 comments
Assignees
Milestone

Comments

@jalvz
Copy link
Contributor

jalvz commented Dec 16, 2020

This is a continuation of #4004.
This issue will be regularly updated.

First public release

Internal

Bundling

Other

  • Investigate short term alternative for sourcemap enrich processor

Bugs

  • Forbid more than 1 APM integration per policy #4539
  • Kibana asset counter doesn't include ES assets kibana/85968
  • YAML parsing error kibana/91401
@jalvz jalvz added this to the 7.12 milestone Dec 16, 2020
@jalvz jalvz added the v7.12.0 label Dec 16, 2020
@zube zube bot removed this from the 7.12 milestone Dec 16, 2020
@zube zube bot removed the v7.12.0 label Dec 16, 2020
@jalvz jalvz mentioned this issue Dec 16, 2020
15 tasks
@jalvz jalvz added the v7.12.0 label Dec 16, 2020
@jalvz jalvz added this to the 7.12 milestone Dec 16, 2020
@jalvz jalvz self-assigned this Dec 16, 2020
@jalvz jalvz changed the title Complete and improve Fleet integration [Fleet] Complete and improve Fleet integration Dec 16, 2020
@axw
Copy link
Member

axw commented Dec 17, 2020

Central config and API Keys for APM agents

@ruflin a while back we talked about the need for providing APM Server with additional API Keys. In particular, it will need privileges for:

We discussed an enhancement whereby Fleet would create and inject API Keys into APM Server's config, and manage the lifetime of those keys (deleting on agent/policy removal). Is there an existing issue we can link to?

@ruflin
Copy link
Member

ruflin commented Dec 18, 2020

@axw Endpoint does something similar where they have an API key in their config. @ph @kevinlog Which API do they take here currently and how is it generated and managed?

@axw
Copy link
Member

axw commented Dec 21, 2020

@ruflin after further pondering, I think ideally an integration should be able to list additional privileges that are either required for installation or are optional along with an explanation of what they're used for. Users can then opt out (foregoing some functionality) of those at integration installation time. The privileges would be all on the one API Key provided to the integration. Such API Keys should probably be more narrowly scoped to the integration being run by an Agent, not shared by all integrations run by the Agent.

WDYT?

@simitt simitt added the fleet label Dec 21, 2020
@ruflin
Copy link
Member

ruflin commented Dec 21, 2020

In this scenario, the API Key with additional privileges would be an additional API besides the one we already ship down for output I assume? Would this additional API Key be the same for a single instance of an integration or different per Elastic Agent like the output keys?

@axw
Copy link
Member

axw commented Dec 21, 2020

In this scenario, the API Key with additional privileges would be an additional API besides the one we already ship down for output I assume?

It could also be the same, but as mentioned above we must then ensure it's not shared with other integration processes.

Would this additional API Key be the same for a single instance of an integration or different per Elastic Agent like the output keys?

I don't think it matters for APM Server.
I'll create a more specific issue to continue this discussion, and perhaps we can follow that up with a feature request on Fleet.

@axw
Copy link
Member

axw commented Dec 21, 2020

@ruflin let's continue discussing API Keys with additional privileges in #4573

@jalvz
Copy link
Contributor Author

jalvz commented Jan 13, 2021

Update 13/01

Highlights of the year so far, in no particular order:

The biggest unknowns now are: the sourcemap enrich processor needs ingest node support (with unknown ETA), central config is still much in the air, and we need to figure out how to bundle agents in apm-server.

@jalvz jalvz changed the title [Fleet] Complete and improve Fleet integration [Fleet] APM Server managed by Elastic Agent with Fleet - 7.12 Jan 21, 2021
@jalvz
Copy link
Contributor Author

jalvz commented Feb 10, 2021

Update 10/02

Long due update, here we go:

  • Apm-server is now bundled with Elastic Agent in all installations.

  • Support for for a short term solution for central config and sourcemaps is about to be merged (waiting Beats approval). This requires users to generate and enter API keys in the policy editor, which is not ideal. Thinking long term we should get better Fleet support for specific privileges.
    Regarding sourcemaps, we will rely on Ingest Node. Recently the Elasticsearch team merged a fingerprint processor that we needed for this.

  • kibana/89870 has been merged adding support for service names in datasets. Server side PR is up, waiting on an up-to-date Kibana in the snapshot registry for testing.

  • We found a bug in Kibana, somewhat hard to reproduce.

  • The APM UI team is working on updating the default index names.

  • A couple of issues will miss the 7.12 release:

  • Finally, we (well, mainly Felix) researched the option of bundling apm agents with apm server, and it turns out it is going to be very complicated. Not the bundling itself, but telling the user where the APM agent is. Because of this, we will go down the route of downloading the java agent attacher from Maven central, and running it for the user (targeting 7.13), and look at k8s later.

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

No branches or pull requests

4 participants