packages: nagios-plugin-check_asterisk_skype/check_asterisk_skype - check c...
glen
glen at pld-linux.org
Wed Mar 3 07:57:01 CET 2010
Author: glen Date: Wed Mar 3 06:57:01 2010 GMT
Module: packages Tag: HEAD
---- Log message:
- check custom calls.log
---- Files affected:
packages/nagios-plugin-check_asterisk_skype:
check_asterisk_skype (1.7 -> 1.8)
---- Diffs:
================================================================
Index: packages/nagios-plugin-check_asterisk_skype/check_asterisk_skype
diff -u packages/nagios-plugin-check_asterisk_skype/check_asterisk_skype:1.7 packages/nagios-plugin-check_asterisk_skype/check_asterisk_skype:1.8
--- packages/nagios-plugin-check_asterisk_skype/check_asterisk_skype:1.7 Tue Mar 2 10:55:11 2010
+++ packages/nagios-plugin-check_asterisk_skype/check_asterisk_skype Wed Mar 3 07:56:55 2010
@@ -129,6 +129,40 @@
}
}
+# grab skypeout balance from custom log produced in /etc/asterisk/extensions.ael:
+# replace ${SKYPEACCOUNT} with your skype account name
+# Set(DATETIME=${STRFTIME(${EPOCH},Europe/Tallinn,%Y-%m-%d %H:%M:%S)});
+# System(echo '${DATETIME} CALL ENDED: balance: $[${SKYPE_ACCOUNT_PROPERTY(${SKYPEACCOUNT},skypeout_balance)}/100] EUR' >> /var/log/asterisk/calls.log);
+sub check_skype_calls {
+ # TODO: add command line opts support
+ my $logfile = '/var/log/asterisk/calls.log';
+ my $warning = 2.5;
+ my $critical = 0.5;
+
+ open(my $fh, '<', $logfile) or die "Can't open $logfile: $!\n";
+ my @lines = reverse <$fh>;
+ close $fh;
+
+ my $seen = 0;
+ while ($_ = pop(@lines)) {
+ if (my($balance, $currency) = /balance: ([\d.]+) (\S{3})/) {
+ $seen = 1;
+ my $state;
+ if ($balance < $critical) {
+ $state = 'CRITICAL';
+ $status = $ERRORS{CRITICAL};
+ } elsif ($balance < $warning) {
+ $state = 'WARNING';
+ $status = $ERRORS{WARNING};
+ } else {
+ $state = 'OK';
+ }
+ $message .= sprintf "; Balance %s: %.2f %s", $state, $balance, $currency;
+ last;
+ }
+ }
+}
+
#####################################################################
$ENV{'BASH_ENV'} = '';
$ENV{'ENV'} = '';
@@ -154,6 +188,7 @@
check_skype_license;
check_skype_user;
+check_skype_calls;
if ($message) {
if ($status == $ERRORS{OK}) {
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/nagios-plugin-check_asterisk_skype/check_asterisk_skype?r1=1.7&r2=1.8&f=u
More information about the pld-cvs-commit
mailing list