diff --git a/install_minimal/airtime-install b/install_minimal/airtime-install index b962ec5c6..0255c1ae8 100755 --- a/install_minimal/airtime-install +++ b/install_minimal/airtime-install @@ -61,8 +61,9 @@ python ${SCRIPTPATH}/../python_apps/show-recorder/install/recorder-install.py echo -e "\n*** Media Monitor Installation ***" python ${SCRIPTPATH}/../python_apps/media-monitor/install/media-monitor-install.py -monit monitor icecast2 +set +e monit monitor rabbitmq-server +set -e echo -e "\n*** Verifying your system environment ***" sleep 10 diff --git a/install_minimal/airtime-uninstall b/install_minimal/airtime-uninstall index 5de4dd80d..9aae54194 100755 --- a/install_minimal/airtime-uninstall +++ b/install_minimal/airtime-uninstall @@ -25,8 +25,9 @@ SCRIPTPATH=`dirname $SCRIPT` echo -e "\n******************************* Uninstall Begin ********************************" -monit unmonitor icecast2 >/dev/null 2>&1 +set +e monit unmonitor rabbitmq-server >/dev/null 2>&1 +set -e echo -e "\n*** Uninstalling Pypo ***" python ${SCRIPTPATH}/../python_apps/pypo/install/pypo-uninstall.py diff --git a/install_minimal/include/AirtimeIni.php b/install_minimal/include/AirtimeIni.php index d06bcb64d..59b1fafaf 100644 --- a/install_minimal/include/AirtimeIni.php +++ b/install_minimal/include/AirtimeIni.php @@ -120,13 +120,6 @@ class AirtimeIni chmod($filename, 0640)); } - public static function CreateMonitFile(){ - if (!copy(__DIR__."/../../python_apps/monit/airtime-monit.cfg", AirtimeIni::CONF_FILE_MONIT)){ - echo "Could not copy airtime-monit.cfg to /etc/monit/conf.d/. Exiting."; - exit(1); - } - } - public static function RemoveMonitFile(){ @unlink("/etc/monit/conf.d/airtime-monit.cfg"); } diff --git a/install_minimal/include/airtime-install.php b/install_minimal/include/airtime-install.php index 19c2997d1..6ab5e75cd 100644 --- a/install_minimal/include/airtime-install.php +++ b/install_minimal/include/airtime-install.php @@ -110,8 +110,6 @@ if ($overwrite) { echo "* Creating INI files".PHP_EOL; AirtimeIni::CreateIniFiles(); } -AirtimeIni::CreateMonitFile(); - AirtimeInstall::InstallPhpCode(); AirtimeInstall::InstallBinaries(); diff --git a/python_apps/media-monitor/install/media-monitor-install.py b/python_apps/media-monitor/install/media-monitor-install.py index a96b3e4d4..ab5324705 100644 --- a/python_apps/media-monitor/install/media-monitor-install.py +++ b/python_apps/media-monitor/install/media-monitor-install.py @@ -39,6 +39,10 @@ def get_current_script_dir(): index = current_script_dir.rindex('/') return current_script_dir[0:index] +def copy_monit_file(current_script_dir): + shutil.copy("%s/../monit-airtime-media-monitor.cfg"%current_script_dir, "/etc/monit/conf.d/") + shutil.copy("%s/../../monit/monit-airtime-generic.cfg"%current_script_dir, "/etc/monit/conf.d/") + try: # load config file @@ -50,6 +54,8 @@ try: current_script_dir = get_current_script_dir() + copy_monit_file(current_script_dir) + p = Popen("/etc/init.d/airtime-media-monitor stop >/dev/null 2>&1", shell=True) sts = os.waitpid(p.pid, 0)[1] diff --git a/python_apps/media-monitor/install/media-monitor-uninstall.py b/python_apps/media-monitor/install/media-monitor-uninstall.py index a9b69399d..ed6fa4195 100644 --- a/python_apps/media-monitor/install/media-monitor-uninstall.py +++ b/python_apps/media-monitor/install/media-monitor-uninstall.py @@ -18,6 +18,9 @@ def get_current_script_dir(): index = current_script_dir.rindex('/') return current_script_dir[0:index] +def remove_monit_file(): + os.system("rm -f /etc/monit/conf.d/monit-airtime-media-monitor.cfg") + try: # load config file try: @@ -30,6 +33,9 @@ try: os.system("rm -f /etc/init.d/airtime-media-monitor") os.system("update-rc.d -f airtime-media-monitor remove >/dev/null 2>&1") + print "Removing monit file" + remove_monit_file() + print "Removing log directories" remove_path(config["log_dir"]) diff --git a/python_apps/media-monitor/monit-airtime-media-monitor.cfg b/python_apps/media-monitor/monit-airtime-media-monitor.cfg new file mode 100644 index 000000000..7001a3f5a --- /dev/null +++ b/python_apps/media-monitor/monit-airtime-media-monitor.cfg @@ -0,0 +1,9 @@ + set daemon 10 # Poll at 5 second intervals + set logfile /var/log/monit.log + + set httpd port 2812 + + check process airtime-media-monitor + with pidfile "/var/run/airtime-media-monitor.pid" + start program = "/etc/init.d/airtime-media-monitor start" with timeout 10 seconds + stop program = "/etc/init.d/airtime-media-monitor stop" diff --git a/python_apps/monit/airtime-monit.cfg b/python_apps/monit/airtime-monit.cfg index 8480dda7f..0f5dd0f69 100644 --- a/python_apps/monit/airtime-monit.cfg +++ b/python_apps/monit/airtime-monit.cfg @@ -21,10 +21,6 @@ with pidfile "/var/run/airtime-show-recorder.pid" start program = "/etc/init.d/airtime-show-recorder start" with timeout 10 seconds stop program = "/etc/init.d/airtime-show-recorder stop" - check process icecast2 - matching "/usr/bin/icecast2" - start program = "/etc/init.d/icecast2 start" with timeout 10 seconds - stop program = "/etc/init.d/icecast2 stop" check process rabbitmq-server with pidfile "/var/run/rabbitmq.pid" start program = "/bin/bash -c '/etc/init.d/rabbitmq-server start; sed "s/.*,\(.*\)\}.*/\1/" /var/lib/rabbitmq/pids > /var/run/rabbitmq.pid'" diff --git a/python_apps/monit/monit-airtime-generic.cfg b/python_apps/monit/monit-airtime-generic.cfg new file mode 100644 index 000000000..03f0d0173 --- /dev/null +++ b/python_apps/monit/monit-airtime-generic.cfg @@ -0,0 +1,10 @@ + set daemon 10 # Poll at 5 second intervals + set logfile /var/log/monit.log + + set httpd port 2812 + allow admin:monit + + check process rabbitmq-server + with pidfile "/var/run/rabbitmq.pid" + start program = "/bin/bash -c '/etc/init.d/rabbitmq-server start; sed "s/.*,\(.*\)\}.*/\1/" /var/lib/rabbitmq/pids > /var/run/rabbitmq.pid'" + stop program = "/etc/init.d/rabbitmq-server stop" diff --git a/python_apps/monit/monit-airtime-rabbitmq-server.cfg b/python_apps/monit/monit-airtime-rabbitmq-server.cfg new file mode 100644 index 000000000..74742dc58 --- /dev/null +++ b/python_apps/monit/monit-airtime-rabbitmq-server.cfg @@ -0,0 +1,11 @@ + set daemon 10 # Poll at 5 second intervals + #set logfile syslog facility log_daemon + set logfile /var/log/monit.log + + set httpd port 2812 + allow admin:monit + + check process rabbitmq-server + with pidfile "/var/run/rabbitmq.pid" + start program = "/bin/bash -c '/etc/init.d/rabbitmq-server start; sed "s/.*,\(.*\)\}.*/\1/" /var/lib/rabbitmq/pids > /var/run/rabbitmq.pid'" + stop program = "/etc/init.d/rabbitmq-server stop" diff --git a/python_apps/pypo/install/pypo-install.py b/python_apps/pypo/install/pypo-install.py index 0853cf9a9..0ee6e9667 100644 --- a/python_apps/pypo/install/pypo-install.py +++ b/python_apps/pypo/install/pypo-install.py @@ -50,6 +50,10 @@ def is_natty(): return True return False +def copy_monit_file(current_script_dir): + shutil.copy("%s/../monit-airtime-playout.cfg"%current_script_dir, "/etc/monit/conf.d/") + shutil.copy("%s/../monit-airtime-liquidsoap.cfg"%current_script_dir, "/etc/monit/conf.d/") + shutil.copy("%s/../../monit/monit-airtime-generic.cfg"%current_script_dir, "/etc/monit/conf.d/") try: # load config file @@ -61,6 +65,8 @@ try: current_script_dir = get_current_script_dir() + copy_monit_file(current_script_dir) + p = Popen("/etc/init.d/airtime-playout stop >/dev/null 2>&1", shell=True) sts = os.waitpid(p.pid, 0)[1] diff --git a/python_apps/pypo/install/pypo-uninstall.py b/python_apps/pypo/install/pypo-uninstall.py index c6f95da3a..9b4429598 100644 --- a/python_apps/pypo/install/pypo-uninstall.py +++ b/python_apps/pypo/install/pypo-uninstall.py @@ -17,6 +17,10 @@ def get_current_script_dir(): current_script_dir = os.path.realpath(__file__) index = current_script_dir.rindex('/') return current_script_dir[0:index] + +def remove_monit_file(): + os.system("rm -f /etc/monit/conf.d/monit-airtime-playout.cfg") + os.system("rm -f /etc/monit/conf.d/monit-airtime-liquidsoap.cfg") try: # load config file @@ -30,8 +34,11 @@ try: os.system("rm -f /etc/init.d/airtime-playout") os.system("update-rc.d -f airtime-playout remove >/dev/null 2>&1") - #copy logrotate script + #remove logrotate script os.system("rm -f /etc/logrotate.d/airtime-liquidsoap") + + print "Removing monit file" + remove_monit_file() print "Removing cache directories" remove_path(config["cache_base_dir"]) diff --git a/python_apps/pypo/monit-airtime-liquidsoap.cfg b/python_apps/pypo/monit-airtime-liquidsoap.cfg new file mode 100644 index 000000000..aececd388 --- /dev/null +++ b/python_apps/pypo/monit-airtime-liquidsoap.cfg @@ -0,0 +1,9 @@ + set daemon 10 # Poll at 5 second intervals + set logfile /var/log/monit.log + + set httpd port 2812 + + check process airtime-liquidsoap + with pidfile "/var/run/airtime-liquidsoap.pid" + start program = "/etc/init.d/airtime-playout monit-restart" with timeout 5 seconds + stop program = "/etc/init.d/airtime-playout stop" diff --git a/python_apps/pypo/monit-airtime-playout.cfg b/python_apps/pypo/monit-airtime-playout.cfg new file mode 100644 index 000000000..5b096c72a --- /dev/null +++ b/python_apps/pypo/monit-airtime-playout.cfg @@ -0,0 +1,9 @@ + set daemon 10 # Poll at 5 second intervals + set logfile /var/log/monit.log + + set httpd port 2812 + + check process airtime-playout + with pidfile "/var/run/airtime-playout.pid" + start program = "/etc/init.d/airtime-playout monit-restart" with timeout 5 seconds + stop program = "/etc/init.d/airtime-playout stop" diff --git a/python_apps/show-recorder/install/recorder-install.py b/python_apps/show-recorder/install/recorder-install.py index ad576e22f..762b6daed 100644 --- a/python_apps/show-recorder/install/recorder-install.py +++ b/python_apps/show-recorder/install/recorder-install.py @@ -32,6 +32,10 @@ def get_current_script_dir(): index = current_script_dir.rindex('/') return current_script_dir[0:index] +def copy_monit_file(current_script_dir): + shutil.copy("%s/../monit-airtime-show-recorder.cfg"%current_script_dir, "/etc/monit/conf.d/") + shutil.copy("%s/../../monit/monit-airtime-generic.cfg"%current_script_dir, "/etc/monit/conf.d/") + try: # load config file @@ -43,6 +47,8 @@ try: current_script_dir = get_current_script_dir() + copy_monit_file(current_script_dir) + p = Popen("/etc/init.d/airtime-show-recorder stop >/dev/null 2>&1", shell=True) sts = os.waitpid(p.pid, 0)[1] diff --git a/python_apps/show-recorder/install/recorder-uninstall.py b/python_apps/show-recorder/install/recorder-uninstall.py index 35e923dfb..d778f8d07 100644 --- a/python_apps/show-recorder/install/recorder-uninstall.py +++ b/python_apps/show-recorder/install/recorder-uninstall.py @@ -17,6 +17,10 @@ def get_current_script_dir(): current_script_dir = os.path.realpath(__file__) index = current_script_dir.rindex('/') return current_script_dir[0:index] + +def remove_monit_file(): + os.system("rm -f /etc/monit/conf.d/monit-airtime-show-recorder.cfg") + try: # load config file @@ -29,6 +33,9 @@ try: os.system("/etc/init.d/airtime-show-recorder stop") os.system("rm -f /etc/init.d/airtime-show-recorder") os.system("update-rc.d -f airtime-show-recorder remove >/dev/null 2>&1") + + print "Removing monit file" + remove_monit_file() print "Removing log directories" remove_path(config["log_dir"]) diff --git a/python_apps/show-recorder/monit-airtime-show-recorder.cfg b/python_apps/show-recorder/monit-airtime-show-recorder.cfg new file mode 100644 index 000000000..137e56c03 --- /dev/null +++ b/python_apps/show-recorder/monit-airtime-show-recorder.cfg @@ -0,0 +1,9 @@ + set daemon 10 # Poll at 5 second intervals + set logfile /var/log/monit.log + + set httpd port 2812 + + check process airtime-show-recorder + with pidfile "/var/run/airtime-show-recorder.pid" + start program = "/etc/init.d/airtime-show-recorder start" with timeout 10 seconds + stop program = "/etc/init.d/airtime-show-recorder stop"