class Dolphin::Graylog
graylog related tasks
Public Instance Methods
srvc()
click to toggle source
# File lib/dolphin/ubuntu/graylog.rb, line 19 def srvc # upload files upload("#{@config_root}/graylog/server/*", "/tmp") clustername = @env networkhost = @vpn_hash[:log] unicasthost = @vpn_hash[:ela] indexprefix = @env mongodbdatabase = "#{@env}-graylog2" mongodbreplicaset = @group_hash[:mg].map {|item| "#{@vpn_hash[item]}:27017"}.join(',') menu = [ %{ # sed -i 's/CLUSTERNAME/#{clustername}/' /tmp/graylog2-elasticsearch.yml sed -i 's/NETWORKHOST/#{networkhost}/' /tmp/graylog2-elasticsearch.yml sed -i 's/UNICASTHOST/#{unicasthost}/' /tmp/graylog2-elasticsearch.yml # sed -i 's/INDEXPREFIX/#{indexprefix}/' /tmp/graylog2.conf # sed -i 's/MONGODBREPLICASET/#{mongodbreplicaset}/' /tmp/graylog2.conf # sed -i 's/MONGODBDATABASE/#{mongodbdatabase}/' /tmp/graylog2.conf sudo mv /tmp/graylog2* /etc sudo chown root:root /etc/graylog2* sudo mv /tmp/graylog.conf /etc/init/ sudo chown root:root /etc/init/graylog.conf sudo mv /tmp/rails.conf /etc/init/ sudo chown root:root /etc/init/rails.conf sudo restart graylog }, ] execute menu end
srvi()
click to toggle source
# File lib/dolphin/ubuntu/graylog.rb, line 5 def srvi menu = [ %{ wget https://github.com/Graylog2/graylog2-server/releases/download/0.13.0-rc.1/graylog2-server-0.13.0-rc.1.tar.gz tar xvfz graylog2-server-0.13.0-rc.1.tar.gz cd graylog2-server-0.13.0-rc.1 sudo mv ~/graylog2-server-0.13.0-rc.1 /opt/graylog2-server }, ] execute menu end
ufw()
click to toggle source
# File lib/dolphin/ubuntu/graylog.rb, line 52 def ufw menu = [ %{ # graylog2 sudo ufw allow from 192.168.0.0/16 to any port 514 sudo ufw allow from 192.168.0.0/16 to any port 514 sudo ufw allow from 192.168.0.0/16 to any port 12201 # elasticsearch ports sudo ufw allow from 192.168.0.0/16 to any port 9200 sudo ufw allow from 192.168.0.0/16 to any port 9300 # nginx sudo ufw allow 'Nginx Full' sudo ufw status numbered }, ] execute menu end
webb()
click to toggle source
# File lib/dolphin/ubuntu/graylog.rb, line 127 def webb menu = [ %{ source /usr/local/share/chruby/chruby.sh source /usr/local/share/chruby/auto.sh cd #{@deploy_dir} RAILS_ENV=production bundle exec puma -C #{@deploy_dir}/config/puma.rb }, ] execute menu end
webc()
click to toggle source
# File lib/dolphin/ubuntu/graylog.rb, line 105 def webc # upload files upload("#{@config_root}/graylog/nginx/*", "/tmp/") upload("#{@config_root}/graylog/rails/*", "#{@app_dir}/graylog2/config/") servername = @server_hash[:log] menu = [ %{ # nginx sed -i 's/SERVERNAME/#{servername}/' /tmp/graylog2.conf sudo mv /tmp/graylog2.conf /etc/nginx/sites-available/ sudo rm -f /etc/nginx/sites-enabled/default sudo ln -sf /etc/nginx/sites-available/graylog2.conf /etc/nginx/sites-enabled sudo service nginx restart }, ] execute menu end
webi()
click to toggle source
# File lib/dolphin/ubuntu/graylog.rb, line 74 def webi menu = [ %{ # web interface sudo mkdir #{@app_dir} sudo chown #{@user}:#{@user_group} #{@app_dir} cd #{@app_dir} wget https://github.com/Graylog2/graylog2-web-interface/releases/download/0.12.0/graylog2-web-interface-0.12.0.tar.gz tar xvfz graylog2-web-interface-0.12.0.tar.gz mv graylog2-web-interface-0.12.0 graylog2 }, ] execute menu # manual steps %{ bin/dolphin setup chruby -t log bin/dolphin setup ruby_install -t log bin/dolphin setup ruby -t log bin/dolphin setup select -t log bin/dolphin ubuntu user -t log bin/dolphin setup bundler -t log # add puma to Gemfile sudo bundle install # run rake secret } end
webr()
click to toggle source
# File lib/dolphin/ubuntu/graylog.rb, line 155 def webr menu = [ %{ source /usr/local/share/chruby/chruby.sh source /usr/local/share/chruby/auto.sh cd #{@deploy_dir} RAILS_ENV=production bundle exec pumactl -S #{@pids}/#{@application}.state restart }, ] execute menu end
webs()
click to toggle source
# File lib/dolphin/ubuntu/graylog.rb, line 141 def webs menu = [ %{ source /usr/local/share/chruby/chruby.sh source /usr/local/share/chruby/auto.sh cd #{@deploy_dir} RAILS_ENV=production bundle exec pumactl -S #{@pids}/#{@application}.state stop }, ] execute menu end
Private Instance Methods
env()
click to toggle source
deployment environments
Calls superclass method
Dolphin::Base#env
# File lib/dolphin/ubuntu/graylog.rb, line 171 def env # inherit general settings super # name of this application @application = 'graylog2' # on servers under @app_dir, the directory where this application resides @deploy_dir = "#{@app_dir}/#{@application}" # puma related settings @pids = "#{@deploy_dir}/tmp/pids" # =================================== # settings to avoid simultaneous deployments # =================================== # current deployment will abort when another deployment is still in progress # lead server for lock status @lead_server = @servers[0] # name and location of the lock file @lock_file = "#{@deploy_dir}/tmp/pids/dolphin.lock" # format of date/time for lock file @deploy_date = Time.now.strftime("%m%d%H%M") # custom content for the lock file @lock_message = "Deploy started at #{@deploy_date} in progress\n" # name and location of the head file to store git head info @head_file = "#{@deploy_dir}/tmp/pids/head.txt" end