From b6af48a862d67d7313e6399f20c4a438b21cc3b3 Mon Sep 17 00:00:00 2001 From: Steve Kemp Date: Thu, 6 Dec 2012 10:56:47 +0000 Subject: Added script to report on parse failures. --- bin/custodian-enqueue | 13 ------------- bytemark/bin/custodian-enqueue-parse-test | 16 ++++++++++++++++ bytemark/cron/custodian-enqueue-parse-test | 6 ++++++ debian/changelog | 6 +++--- 4 files changed, 25 insertions(+), 16 deletions(-) create mode 100755 bytemark/bin/custodian-enqueue-parse-test create mode 100644 bytemark/cron/custodian-enqueue-parse-test diff --git a/bin/custodian-enqueue b/bin/custodian-enqueue index 9e8e9a3..41378e6 100755 --- a/bin/custodian-enqueue +++ b/bin/custodian-enqueue @@ -175,19 +175,6 @@ if __FILE__ == $0 then end end - - # - # If there were errors then we'll not get this far. - # - if ( File.exists?( "/etc/mauvealert/mauvesend.destination" ) ) - - # - # Inititate a heartbeat - # - system( "mauvesend alert.bytemark.co.uk -i custodian-enqueue -c now -r +10m -s \"heartbeat failed for custodian-enqueue.\" --detail=\"

The heartbeat wasn't sent for custodian-enqueue - This means that new tests are not being pushed into the beanstalkd queue, and our monitoring is potentially broken

\" " ) - end - - end diff --git a/bytemark/bin/custodian-enqueue-parse-test b/bytemark/bin/custodian-enqueue-parse-test new file mode 100755 index 0000000..abd90f5 --- /dev/null +++ b/bytemark/bin/custodian-enqueue-parse-test @@ -0,0 +1,16 @@ +#!/bin/sh +# +# Parse the two configuration files we use, and alert if there +# is a failure. +# + +for file in bytemark.cfg managed-clients.cfg ; do + + if ( ! custodian-enqueue --test --file /etc/custodian/$file >/dev/null 2>/dev/null ); then + mauvesend alert.bytemark.co.uk -i custodian-enqueue-$file -r now -s "Parse failure from custodian-enqueue against $file." --detail="

The file was not added to the queue successfully due to syntax error. Please fix.

" + else + mauvesend alert.bytemark.co.uk -i custodian-enqueue-$file -c now -s "Parse failure from custodian-enqueue against $file." --detail="

The file was not added to the queue successfully due to syntax error. Please fix.

" + + fi + +done diff --git a/bytemark/cron/custodian-enqueue-parse-test b/bytemark/cron/custodian-enqueue-parse-test new file mode 100644 index 0000000..6d71e5c --- /dev/null +++ b/bytemark/cron/custodian-enqueue-parse-test @@ -0,0 +1,6 @@ +# +# Alert if our custodian parser sees a failure on any file. +# +# Run once an hour, during working hours. +# +2 09-18 * * 1-5 nobody /usr/bin/custodian-enqueue-parse-test diff --git a/debian/changelog b/debian/changelog index 5167462..407e3cd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,9 +2,9 @@ custodian (0.8-1) stable; urgency=low * Produce a new package custodian-bytemark - This contains a queue monitor. - - TODO: This should contain a parser check - * Don't overwrite the reason for failure when clearing alerts via - mauve. + - This contains a parser check. + - Both these scripts are deployed to /usr/bin, and invoked via /etc/cron.d. + * Don't overwrite the reason for failure when clearing alerts via mauve. -- Steve Kemp Thu, 6 Dec 2012 10:22:01 +0000 -- cgit v1.2.1