[Xymon] blank recovered sms alerts on mail

deepak deore deepakdeore2004 at gmail.com
Sun Jun 9 19:12:33 CEST 2013


Bill, thanks a lot for the code. I made few changes in this code as per my
requirement and mail command was not working with this. Also Recovered
BBCOLORLEVEL was always red. So made that change as well. Here is my script
here if anyone else needs this.

----------------------------------------------------------------------------------------------------------
#!/bin/bash

TO="$RCPT"

NOTICE=`echo "$BBALPHAMSG" | grep " INFO"`
if [ ! -z "$NOTICE" ]; then
        EVENT=`echo "$BBALPHAMSG" | grep "Monitoring of"`
        REASON=`echo "$BBALPHAMSG" | grep "Reason:" | cut -d':' -f2-`
        if [ -z "$REASON" ]; then
                MSG="$EVENT"
        else
                MSG="$EVENT:$REASON"
        fi
else
        if [ "$RECOVERED" = "1" ]; then
                RECOVERED=" (Recovered)"
                BBCOLORLEVEL="green"
        else
                RECOVERED=""
        fi
        UPSVCNAME=`echo $BBSVCNAME | tr [:lower:] [:upper:]`
        MSG="$RECOVERED ($BBCOLORLEVEL) $UPSVCNAME on $BBHOSTNAME:\n
Problem for $DOWNSECS seconds"
fi

EMAIL="$TO\n\n$MSG"

echo -e "$EMAIL" | /usr/bin/mail -t
----------------------------------------------------------------------------------------------------------


On Sat, May 25, 2013 at 9:17 PM, Bill Arlofski <waa-hobbitml at revpol.com>wrote:

> On 05/25/13 06:46, deepak deore wrote:
> > FORMAT=PLAIN is working, I am receiving the recovered messages on my
> mobile.
> > But that message is way long since it is not in sms format.
> >
> > could you tell where should i look?
>
> deepak, I think I may have run into a similar issue a long time ago, or
> maybe
> my issue was that I didn't like the level, or type of detail in the SMS
> format
> (i forget now), so I wrote a script to take the PLAIN format and TXT it to
> me
> via the AT&T email-to-SMS gateway. The benefit of this is that you have
> complete control to manipulate the format and contents of the SMS that
> gets sent.
>
>
> Here's what I did:
>
>
> First, in alerts.cfg
>
> # Define recipient variables
> # --------------------------
> $waaphone=##########
>
> # Define scripts
> # --------------
> $xymon-email-alert=/usr/local/sbin/xymon-email-alert.sh
> $xymon-sms-alert=/usr/local/sbin/xymon-SMS-alert.sh
>
> # Define Times
> # ------------
> $ninetofive=W:0900:1700
> $afterhours=W:1701:0859
> $weekends=60:0000:2359
> $smsalerthours=W:0730:2359,60:0900:2200
> $never=365d
>
> # Define Alerts
> # -------------
> # Match ALL FIREWALLS
> # -------------------
> PAGE=revpol/client_firewalls
>   SCRIPT $xymon-sms-alert $waaphone TIME=$smsalerthours DURATION>5m /
>   FORMAT=SMS REPEAT=$neverCOLOR=yellow,red RECOVERED
>
>
>
> Then my SMS alert script (/usr/local/sbin/xymon-SMS-alert.sh) follows. It
> could probably use some improvement, been a while since I worked with it.
> :)
> (this may wrap poorly in email)
>
> --[snip]--
> #!/bin/bash
> #
> # waa - 20100209
> # ---------------
> date=`date +%Y%m%d-%H:%M:%S`
> log="/tmp/xymon-SMS.log"
> FROM="From: RP Xymon <someone at example.com>"
> TO="To: $RCPT"
>
> # First, determine if this is a NOTICE message
> # (eg: disabling or enabling a test)
> # --------------------------------------------
> NOTICE=`echo "$BBALPHAMSG" | grep " INFO"`
> if [ ! -z "$NOTICE" ]; then
>
>   # This is an INFO type report, so get the event
>   # (what was enabled/disabled) and the reason
>   # ---------------------------------------------
>   EVENT=`echo "$BBALPHAMSG" | grep "Monitoring of"`
>   REASON=`echo "$BBALPHAMSG" | grep "Reason:" | cut -d':' -f2-`
>   if [ -z "$REASON" ]; then
>     MSG="$EVENT"
>     else
>       MSG="$EVENT:$REASON"
>   fi
>
>   else
>     # This was not an INFO type report so create
>     # and format the normal SMS message
>     # ------------------------------------------
>
>     # Determine if this is a recovery notice for a test
>     # -------------------------------------------------
>     if [ "$RECOVERED" = "1" ]; then
>       RECOVERED=" (Recovered)"
>       else
>         RECOVERED=""
>     fi
>
>     # Uppercase the service name
>     # --------------------------
>     UPSVCNAME=`echo $BBSVCNAME | tr [:lower:] [:upper:]`
>
>     # Set the message text
>     # --------------------
>     MSG="$RECOVERED ($BBCOLORLEVEL) $UPSVCNAME on $BBHOSTNAME\nDown for
> $DOWNSECS seconds"
> fi
>
> EMAIL="$FROM\n$TO\n\n$MSG"
>
> # Send the email to the email-to-SMS gateway
> # ------------------------------------------
> echo -e "$EMAIL" | /usr/sbin/sendmail -t
> --[snip]--
>
>
> Hope this helps.
>
> --
> Bill Arlofski
> Reverse Polarity, LLC
> http://www.revpol.com/
> --not responsible for anything below this line--
> _______________________________________________
> Xymon mailing list
> Xymon at xymon.com
> http://lists.xymon.com/mailman/listinfo/xymon
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20130609/78d8920e/attachment.html>


More information about the Xymon mailing list