fluentd
fluentd copied to clipboard
Set log_path in system config
Is your feature request related to a problem? Please describe.
I'm setting up AWX to install FluentD on VMs (not in Containers). Ansible's "ansible.builtin.service" doesn't have command line arguments like "-o" because it's using systemctl. So the logs can only be defaulted to /var/log.
Describe the solution you'd like
I'd simply like "log_path" to be an attribute I can set in the
Describe alternatives you've considered
I could modify the service file to include the "-o" command line argument, or have Ansible modify the code directly like in the system_config.rb file and so on so that attribute becomes available. In either case though it would just be a hacky temporary solution.
Additional context
My /var/log directory is mounted to a low capacity drive because we expected to be able to store all fluent related data in our /opt directory. For now I can set the log rotation very tightly to keep it from filling up, but I think the log path being configurable in the global settings file is a deserving feature that I'm surprised doesn't exist already.
I don't know why system_config does not have log_path
option...
I'm wondering if there was a reason for this, but it seems more convenient to be able to set it up in the config file.
I could modify the service file to include the "-o" command line argument,
I think this is the main case now. In Fluent Package, It is supposed to be set in a unit file or as environment variables.
https://github.com/fluent/fluent-package-builder/blob/1bd0d76c2e13a94a8d93c30bb51096e54d77bbf1/fluent-package/templates/etc/systemd/fluentd.service.erb#L32
ExecStart=/opt/<%= package_dir %>/bin/fluentd --log $FLUENT_PACKAGE_LOG_FILE --daemon <%= Shellwords.shellescape("/var/run/#{package_dir}/#{service_name}.pid") %> $FLUENT_PACKAGE_OPTIONS
@daipom is this still active or the ENV variable method is your proposed fix?
@Athishpranav2003 Sorry for my late response. Thanks for considering it!
I don't know why system_config does not have
log_path
option... I'm wondering if there was a reason for this, but it seems more convenient to be able to set it up in the config file.
The reason would be that Fluentd needs to know the path before parsing the config file. Fluentd outputs some logs before parsing.
It would be convenient if we could specify the path in the config file, but then there would be the problem of how to handle the logs before parsing.
If we can come up with a good solution, we can improve it, but if not, I don't see the need to force it.
Oh i see. It makes sense that the parsing logs are also crucial and they seem to create a problem here. I am currently not sure of any sol but maybe there is some way to tackle this. Ideally we can solve this by having a default logging destination and change that+copy the initial logs to the configured directory once its obtained. Idk what issues might occur in this case