Class: Escualo::Plugin::Monit

Inherits:
Object
  • Object
show all
Defined in:
lib/escualo/plugin/monit.rb

Instance Method Summary collapse

Instance Method Details

#check(ssh, options) ⇒ Object



20
21
22
# File 'lib/escualo/plugin/monit.rb', line 20

def check(ssh, options)
  ssh.shell.exec!('monit --version').include? 'This is Monit version 5'
end

#run(ssh, options) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/escualo/plugin/monit.rb', line 3

def run(ssh, options)
  ssh.perform! %Q{
    apt-get install monit
    service monit stop
    cd /tmp &&
    wget https://mmonit.com/monit/dist/binary/5.16/monit-#{options.monit_version}-linux-x64.tar.gz &&
    tar -xzf monit-#{options.monit_version}-linux-x64.tar.gz &&
    cp monit-#{options.monit_version}/bin/monit /usr/bin/monit
    ln -s /etc/monit/monitrc /etc/monitrc
    service monit start
    echo 'set httpd port 2812 and' > /etc/monit/conf.d/web-server
    echo '  allow 0.0.0.0/0.0.0.0' >> /etc/monit/conf.d/web-server
    echo '  allow admin:#{options.monit_password}' >> /etc/monit/conf.d/web-server
    monit reload
}, options
end