Sha256: f5fafe8b8f88dc119d7b359372e2ba8824c3cef5f1fdd461b5e590256f231054

Contents?: true

Size: 1.41 KB

Versions: 29

Compression:

Stored size: 1.41 KB

Contents

# coding: UTF-8

require 'rake'
require_relative 'task_helper'

namespace :dad do
  namespace :fluentd do

    desc "Fluentdをインストールします。"
    task :install do
      if Daddy.config.fluentd.nginx?
        nginx = File.join(Rails.root, 'tmp', 'fluentd', "#{app_name}_nginx.conf")
        FileUtils.mkdir_p(File.dirname(nginx))
        File.write(nginx, ERB.new(File.read(File.join(File.dirname(__FILE__), 'fluentd_nginx.conf.erb'))).result)
      else
        FileUtils.rm_f(nginx)
      end

      script = <<-EOF
#!/bin/bash

sudo rpm --import http://packages.treasure-data.com/redhat/RPM-GPG-KEY-td-agent
sudo cp -f #{File.join(File.dirname(__FILE__), 'fluentd.repo')} /etc/yum.repos.d/
sudo yum install td-agent
sudo gem install fluent-plugin-mongo

sudo cp -f #{File.join(File.dirname(__FILE__), 'fluentd.conf')} /etc/td-agent/td-agent.conf
sudo mkdir -p /etc/td-agent/conf.d

if [ -e #{nginx} ]; then
  sudo cp -f #{nginx} /etc/td-agent/conf.d
  sudo usermod -aG adm td-agent
fi

sudo /sbin/chkconfig td-agent on
if [ -e /var/run/td-agent/td-agent.pid ]; then
  sudo /etc/init.d/td-agent restart
else
  sudo /etc/init.d/td-agent start
fi
EOF
      tmpfile = File.join(Rails.root, 'tmp', 'dad-fluentd-install-' + Daddy::Utils::StringUtils.current_time + '.sh')
      File.write(tmpfile, ERB.new(script).result)
      
      unless ENV['DRY_RUN']
        fail unless system("bash #{tmpfile}")
      end
    end
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
daddy-0.3.13 lib/tasks/fluentd.rake
daddy-0.3.12 lib/tasks/fluentd.rake
daddy-0.3.11 lib/tasks/fluentd.rake
daddy-0.3.10 lib/tasks/fluentd.rake
daddy-0.3.9 lib/tasks/fluentd.rake
daddy-0.3.8 lib/tasks/fluentd.rake
daddy-0.3.7 lib/tasks/fluentd.rake
daddy-0.3.6 lib/tasks/fluentd.rake
daddy-0.3.4 lib/tasks/fluentd.rake
daddy-0.3.3 lib/tasks/fluentd.rake
daddy-0.3.2 lib/tasks/fluentd.rake
daddy-0.3.1 lib/tasks/fluentd.rake
daddy-0.3.0 lib/tasks/fluentd.rake
daddy-0.2.23 lib/tasks/fluentd.rake
daddy-0.2.22 lib/tasks/fluentd.rake
daddy-0.2.21 lib/tasks/fluentd.rake
daddy-0.2.20 lib/tasks/fluentd.rake
daddy-0.2.19 lib/tasks/fluentd.rake
daddy-0.2.18 lib/tasks/fluentd.rake
daddy-0.2.17 lib/tasks/fluentd.rake