diff --git a/app/models/fluentd/agent/fluentd_gem.rb b/app/models/fluentd/agent/fluentd_gem.rb index 34b6047..640a6ac 100644 --- a/app/models/fluentd/agent/fluentd_gem.rb +++ b/app/models/fluentd/agent/fluentd_gem.rb @@ -5,7 +5,7 @@ class Fluentd include LocalCommon def self.default_options - { + { :pid_file => "#{ENV["HOME"]}/.fluentd-ui/fluent.pid", :log_file => "#{ENV["HOME"]}/.fluentd-ui/fluent.log", :config_file => "#{ENV["HOME"]}/.fluentd-ui/fluent.conf", @@ -42,6 +42,12 @@ class Fluentd actual_reload end + def dryrun + Bundler.with_clean_env do + system("fluentd --dry-run #{options_to_argv}") + end + end + def version Bundler.with_clean_env do `fluentd --version`.strip @@ -60,9 +66,7 @@ class Fluentd end def validate_fluentd_options - Bundler.with_clean_env do - system("fluentd --dry-run #{options_to_argv}") - end + dryrun end def actual_start diff --git a/app/models/fluentd/agent/td_agent/macosx.rb b/app/models/fluentd/agent/td_agent/macosx.rb index 4d12099..78429a8 100644 --- a/app/models/fluentd/agent/td_agent/macosx.rb +++ b/app/models/fluentd/agent/td_agent/macosx.rb @@ -2,7 +2,6 @@ class Fluentd class Agent class TdAgent module Macosx - def start backup_running_config do detached_command("launchctl load #{plist}") && pid_from_launchctl @@ -17,6 +16,10 @@ class Fluentd stop && start end + def dryrun + detached_command("/usr/sbin/td-agent --dry-run -q --use-v1-config -c #{config_file} -o #{log_file}") + end + private def plist diff --git a/app/models/fluentd/agent/td_agent/unix.rb b/app/models/fluentd/agent/td_agent/unix.rb index 09f6353..db5ccc3 100644 --- a/app/models/fluentd/agent/td_agent/unix.rb +++ b/app/models/fluentd/agent/td_agent/unix.rb @@ -17,6 +17,10 @@ class Fluentd # https://github.com/treasure-data/td-agent/blob/master/debian/td-agent.init#L156 detached_command('/etc/init.d/td-agent restart') end + + def dryrun + detached_command('/etc/init.d/td-agent configtest') + end end end end