-
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 agent configuration #118505
Comments
Pinging @elastic/kibana-core (Team:Core) |
Not sure if this is a crazy "solution" idea. merge
|
Added it as a 3rd option.
Not yet, but we need something like this. |
How would that work if the configuration of both agent diverge for the same option? e.g your example with Also, my main question is: is this just a 'technical' issue, or do we think we may want to allow end user to configure both agents differently (e.g enabling the node agent but not the rum agent, or having different server, or IDK?) |
As this is an early stage for this integration and we're not promoting it to users, I think we can go with a very light weight We can always add additional flexibility later. I'm adding a simple fix to #127892 - lets see how it's accepted |
I've merged the fix that omits irrelevant configurations from the server side config, before passing them down to the client. |
It is now possible to specify per-service overrides via the |
Problem
Kibana allows users to adjust APM agent configuration via
elastic.apm.*
settings in thekibana.yml
file.Kibana supplies these configuration values to both the APM nodejs and the APM RUM agents "as is". Kibana does not separate the configuration object into more specific properties for each agent, so we hope both agents have compatible configuration interfaces.
Unfortunately, this is not the case:
logUnhandledExceptions
makes sense in elastic-apm-node only)disableInstrumentations?: string | string[]
, elsatic/apm-rum:disableInstrumentations?: Array<InstrumentationTypes>
)Solutions
Separate configurations
To make the APM configuration bullet-proof, we can consider separating the APM nodejs configuration
elastic.apm.node
from the APM RUM agent oneelastic.apm.rum
.Pros: clear separation of responsibility, the ability to fine-tune each agent
Cons: it's easy to misconfigure an agent (set
active: false
for nodejs agent,active: true
for APM RUM agent), the option is not compatible with the currentelastic.apm.*
interface.Separate configuration options in Kibana
Kibana can support an allow-list of configuration options for each agent to apply it to
elastic.apm.*
configuration space.Pros: compatible with the current interface, Kibana controls allowed configuration options to prevent misconfiguration.
Cons: less flexibility for the end-users, the support burden of maintaining an allow-list in Kibana.
cc @trentm @lizozom @vigneshshanmugam
The text was updated successfully, but these errors were encountered: