Allow starting the beat without an output when CM is enabled #8567
Allow starting the beat without an output when CM is enabled #8567exekias merged 3 commits intoelastic:masterfrom
Conversation
fields.yml properties when they are defined in different so…|
I'm a bit surprised about the CI failure as this should be fixed in master. Can you rebase this on top of the most recent version of master? |
|
rebased, let's see if it passes now |
libbeat/publisher/pipeline/module.go
Outdated
There was a problem hiding this comment.
We could keep logging something, in case someone configures beats using CM, but still without an output.
There was a problem hiding this comment.
Thanks for your input folks, pushed 34bba0d7f, I struggled a bit with the messaging here, I'm open for feedback on it
There was a problem hiding this comment.
I'd add just an info line mentioning that current loaded configuration has no outputs and then no data will be published. So if after configuring modules someone find that they still don't publish anything, they can find a clue to their mistake in the logs.
There was a problem hiding this comment.
This is the current message: No outputs are configured, starting in paused mode., wdyt?
There was a problem hiding this comment.
Looks like you added the Info log to the wrong line.
There was a problem hiding this comment.
Umm, you added it to the dry-run flow, was this intended?
Regarding the message, I was more concerned to the case of the user changing the config using CM but not adding any output (or removing this by mistake if possible), so not only when the beat starts, also I wouldn't talk about a "paused mode" (do we have this concept?).
What about something that announces the effect to the user, like No outputs are configured, no data will be collected?
There was a problem hiding this comment.
I want to avoid something that will make the user think this is bad, as it will be there if you are using central management. Best message to me would be something like this:
Output settings are centrally managed, go to Kibana to configure one
Now, I understand we don't want to be that specific from the outRequired flag, so I'm seeking for a message that explains that as soon as you see CM logs after it
Central management will take care of configuring the output, so we are allowed to start the beat with a nil output
libbeat/publisher/pipeline/module.go
Outdated
| } | ||
|
|
||
| if publishDisabled { | ||
| log.Info("No outputs are configured, starting in paused mode.") |
There was a problem hiding this comment.
This condition is not about 'outRequired', but we end here if publishing is disabled from the CLI, even if outputs are configured.
There was a problem hiding this comment.
🤦♂️ I'll move it 😇 are we ok with the text istelf?
|
as discussed offline, we decided to move the error message up in the stack so it can be more meaninful, please have a look :) |
|
Failing test is unrelated, addressing it here: #8656 |
Central management will take care of configuring the output, so we
are allowed to start the beat with a nil output