fluentd icon indicating copy to clipboard operation
fluentd copied to clipboard

Runtime configuration check

Open pepov opened this issue 2 years ago • 4 comments

Is your feature request related to a problem? Please describe.

In order to verify that a configuration is syntactically valid I can already run fluentd with the --dry-run flag. I would like to check if fluentd can actually start with the configuration. This would help in cases when for example one specific output is not compatible with the available plugins, which we cannot detect using --dry-run.

Describe the solution you'd like

I would like to be able to start fluentd with a configuration and tell it using some command line flags to start but quit with a zero exit code, if everything has been initialized properly.

Describe alternatives you've considered

Right now I can achieve something similar by running fluentd using the timeout command, however that is suboptimal: https://github.com/kube-logging/logging-operator/pull/1407

Additional context

This feature would be leveraged by the logging operator in it's automatic config check feature: https://github.com/kube-logging/logging-operator/issues/1432

pepov avatar Aug 14 '23 15:08 pepov

What combination of output plugins, did you assume to detect (for example)?

kenhys avatar Aug 23 '23 05:08 kenhys

Any combination that the user configures. The way it works is that we create a separate pod without sending traffic to it with the configuration we are about to actually deploy. If the check fails we back up, if not we proceed.

pepov avatar Aug 23 '23 17:08 pepov

This issue has been automatically marked as stale because it has been open 30 days with no activity. Remove stale label or comment or this issue will be closed in 7 days

github-actions[bot] avatar Sep 23 '23 10:09 github-actions[bot]

FYI This has been implemented for syslog-ng per our (logging-operator) request like this: https://github.com/syslog-ng/syslog-ng/pull/4646

pepov avatar Oct 05 '23 12:10 pepov