-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[APM] Inject agent config directly into APM Fleet policies #95501
Comments
Pinging @elastic/apm-ui (Team:apm) |
Every user with APM app privileges can configure agent central configuration in the APM app. The Fleet app requires superuser privileges for every operation, therefore also for pushing down configuration changes to any APM integrations policy. Two ways of solving this come to mind:
Potential flow:
Generally, the current apm agent central configuration logic needs to keep being supported as long as running an APM server standalone is supported. |
The outlined flow doesn't communicate to the user whether a change has been sync'd to the fleet policy or not which I think is a big drawback. @nehaduggal mentioned that it was acceptable to not have agent config support in 7.13. From my understanding fleet is working on a ui for agent configs that we can use in 7.14, so perhaps it's better to defer this effort until then? |
@sqren brought up the idea of having a check box that can be activated to also apply agent central config options fo apm server integrations. The check box could only be enabled/disabled by |
I might have missed this, but is this just an accepted limitation for now until we expand the role permissions into Fleet, or will it always be the case that only the |
The former. It is a (painful) limitation that we have to deal with for now but not permanently. It might make sense to talk to the fleet team about when they're planning to add more granular permissions. |
* [APM] Syncs agent config settings to APM Fleet policies (#95501) * fixes eslint issues * fixes malformed line comment * - consolidated logic that applies agent configurations to package policy objects - update package policy agent_configs to include etag, agent.name, and change settings -> config * Synchronizes agent configs whenever configuration is deleted. * PR feedback * nest agent_config within `apm-server` in the package policy input * nests agent_config under the requried 'value' property of config['apm-server'] in order to pass validation checks * - externalizes getApmPackagePolicies for reusability - parallelizes operations for improved performance Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* [APM] Syncs agent config settings to APM Fleet policies (elastic#95501) * fixes eslint issues * fixes malformed line comment * - consolidated logic that applies agent configurations to package policy objects - update package policy agent_configs to include etag, agent.name, and change settings -> config * Synchronizes agent configs whenever configuration is deleted. * PR feedback * nest agent_config within `apm-server` in the package policy input * nests agent_config under the requried 'value' property of config['apm-server'] in order to pass validation checks * - externalizes getApmPackagePolicies for reusability - parallelizes operations for improved performance Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
…01685) * [APM] Syncs agent config settings to APM Fleet policies (#95501) * fixes eslint issues * fixes malformed line comment * - consolidated logic that applies agent configurations to package policy objects - update package policy agent_configs to include etag, agent.name, and change settings -> config * Synchronizes agent configs whenever configuration is deleted. * PR feedback * nest agent_config within `apm-server` in the package policy input * nests agent_config under the requried 'value' property of config['apm-server'] in order to pass validation checks * - externalizes getApmPackagePolicies for reusability - parallelizes operations for improved performance Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
… properties in the policy input (elastic#101690) * [APM] Improvments in the APM fleet integration (elastic#95501) * added unit test and line comment * fixes eslint issues
As part of the move to Fleet we will need to move away from fetching agent config directly from Kibana, as the privileges APM Server is given do not cover this. Instead, agent config will be pushed down to APM Server via the server's policy.
When agent config is created/updated/removed in Kibana, APM Fleet policies should be updated to include the new agent config directly. For each config block, Kibana will need to supply: the criteria (service name and/or service environment), settings, and an Etag value.
As APM Server will not be communicating directly with Kibana, we will have to come up with a new way of identifying that config has been applied. I can think of two main options, as described in elastic/apm-server#5018:
Proposed user flow:
The text was updated successfully, but these errors were encountered: