I have a very simple config that should produce tons of output:
input {
file {
path => "/var/log/glusterfs/*.log"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
output {
stdout { codec => rubydebug }
}
When running from command line it does, when running as a service it does not.
I've enabled debugging in the conf file, but all I get is this:
[2017-10-05T17:03:17,276][DEBUG][logstash.pipeline ] Pushing flush onto pipeline
[2017-10-05T17:03:21,386][DEBUG][logstash.inputs.file ] _globbed_files: /var/log/glusterfs/*.log: glob is: ["/var/log/glusterfs/glustershd.log", "/var/log/glusterfs/test.log", "/var/log/glusterfs/cli.log", "/var/log/glusterfs/glusterd.log", "/var/log/glusterfs/events.log", "/var/log/glusterfs/cmd_history.log"]
[2017-10-05T17:03:22,276][DEBUG][logstash.pipeline ] Pushing flush onto pipeline
[2017-10-05T17:03:27,275][DEBUG][logstash.pipeline ] Pushing flush onto pipeline
But no output to stdout (same for file or gelf or any other output).
Edit: I narrowed it down a little bit more: When running this line
/usr/share/logstash/bin/logstash -f glusterfs.conf --path.settings etc/logstash
.... as root it works. When running the same line as user logstash it does not work. I have set "log.level: trace" in logstash.yml, but no errors or warnings show in the logfile.