diff options
Diffstat (limited to 'FS/bin/freeside-check')
-rw-r--r-- | FS/bin/freeside-check | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/FS/bin/freeside-check b/FS/bin/freeside-check new file mode 100644 index 0000000..9930aae --- /dev/null +++ b/FS/bin/freeside-check @@ -0,0 +1,31 @@ +#!/usr/bin/perl +#!/usr/bin/perl -w + +use strict; +use FS::UID qw( adminsuidsetup ); +use FS::Cron::check qw( + check_queued check_selfservice check_apache check_bop_failures + check_sg check_sg_login check_sgng + alert error_msg +); + +my $user = shift or die &usage; +my @emails = @ARGV; +#die "no notification email given" unless @emails; + +eval { adminsuidsetup $user }; + +if ( $@ ) { alert("Database down: $@", @emails); exit; } + +check_queued or alert('Queue daemon not running', @emails); +check_selfservice or alert(error_msg(), @emails); +check_apache or alert('Apache not running: '. error_msg(), @emails); + +#no-ops unless you are sg +my $sg = 'FS::ClientAPI::SG'; +check_sg or alert("$sg not responding: ". error_msg(), @emails); +check_sg_login or alert("$sg login errort: ". error_msg(), @emails); +check_sgng or alert("${sg}NG not responding: ". error_msg(), @emails); + +check_bop_failures or alert(error_msg(), @emails); + |