-
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
[logging] Serverless logging config should default to logging to stdout in json layout #152144
Comments
Pinging @elastic/kibana-core (Team:Core) |
(TIL we already have a Just to understand a bit better, what are the upsides of having such serverless-specific 'basic' (understand: also usable without restriction on prem) configuration be held in the repo rather than being managed by the controller as it's done today? |
Yeah, added in #149878
When this was discussed last week the conclusion was that we want to (for now) put as many of the "static" configs as possible in the kibana repo so that they can be more easily controlled/audited, and also eventually have tests running Kibana CI against any changes to them. Of course, any dynamic settings (i.e. secrets or "knobs" that can be adjusted at the control plane level) would still need to be added somewhere outside of kibana... we still need to discuss how exactly we want that to work.
Not sure I follow -- we aren't talking about adding any new configurations here, just about where we are locating static configs that will need to apply to serverless deployments. |
As I was thinking about this, one downside that does come to mind is that this would be a less optimal DX for folks running Kibana from source. Devs using the serverless configs would get the (less human-readable) json logs to the console by default, unless they took the extra step of overriding this in a |
I don't see any issue with letting dev's know how to override the standard logging config we want in serverless mode. Having a default is better than a 'free for all' approach or defaulting to something less verbose (a |
@lukeelmers, do you know if this is a requirement for Serverless or Docker images in general? Just wondering if this is something that can be solved at the |
I don't think this is a requirement for serverless right now. We are working around it for the time being with the configuration that's being applied in That said, I do think it's worth trying to align with ES on this in the long term. After talking to @mark-vieira, it sounds like the current behavior on ES docker images is to log in ecs/json by default everywhere (to file and stdout). The current behavior for Kibana images is to default to pattern layout (stdout). So ideally either we would:
@mark-vieira Before we consider changing this on our side, do you think there's a likelihood ES would look to change the behavior instead (since it's arguably a better experience to default to something more human-readable in stdout)? If we went with (1), we'd probably need to consider this a breaking change on the Kibana side, so this isn't something we could easily update near-term. (This topic is discussed a bit toward the end of the thread in #114968 -- I'm going to re-tag this for the operations team. If we determine a change is needed we can track it here or in the old issue, otherwise this can be closed if ES is planning to make changes on their end). |
Pinging @elastic/kibana-operations (Team:Operations) |
Hard to say. There are currently no concrete plans but it's certainly a better experience when you don't have a full observability solution available (local development, debugging, etc). That said this is partially configurable in ES. If you set the |
Seeing that:
I am starting to think that maybe we should just leave the behavior as-is instead of pushing to make a breaking change to Kibana's log output format. We could fragment the behavior and try to log to ecs by default in docker only, but I'm not sure it is worth the confusion. Do you have any feelings about this @elastic/kibana-operations ? |
I haven't heard anything from Kibana users over the last few years. I think it's fine to leave as is. |
Okay, I will go ahead and close this for now then and we can reopen if we have reason to change our minds later. |
In the comments on #114968 (comment) it was discussed whether we should switch our default logging configuration for Docker to use json layout, as Docker logs are typically collected via stdout, and our default format for logs to stdout is pattern layout (aka not-ECS).
While this is something worth considering for self-managed, we should definitely take this approach for serverless. Currently we are overriding this config in the kibana-controller, but ultimately it should be added to Kibana's own serverless configs1:
--
cc @pebrc
Footnotes
These configs aren't yet being picked up by control plane, so changes won't have an immediate affect. ↩
The text was updated successfully, but these errors were encountered: