On Wed, Feb 4, 2015, at 19:05, Benjamin Smith wrote:
We've wasted time playing with a wrapper for the mail command that would strip out the "\r" in the alerts but this has, so far, proven fruitless. Messages sent via the Sprint SMS gateway go through just fine. Wondering if anybody else has seen this issue, or has any idea what the best way to handle it might be?
I warn you this (probably) isn't exactly what you're looking for, but I've stopped using the SMS email gateways due to reliability issues and when things are really going bad -- rate limiting. Instead I've moved to sending my notifications through Pushover.net which sends (fast!!) push notifications to phones.
You can send messages two ways: their email gateway, or write a notification script that uses their REST api. It's very simple. I wrote this in a few minutes and haven't looked back.
#!/bin/sh
Xymon env notes:
BBCOLORLEVEL The current color of the status
BBALPHAMSG The full text of the status log triggering the alert
ACKCODE The "cookie" that can be used to acknowledge the alert
RCPT The recipient, from the SCRIPT entry
BBHOSTNAME The name of the host that the alert is about
MACHIP The IP-address of the host that has a problem
BBSVCNAME The name of the service that the alert is about
BBSVCNUM The numeric code for the service. From SVCCODES
definition.
BBHOSTSVC HOSTNAME.SERVICE that the alert is about.
BBHOSTSVCCOMMAS As BBHOSTSVC, but dots in the hostname replaced
with commas
BBNUMERIC A 22-digit number made by BBSVCNUM, MACHIP and ACKCODE.
RECOVERED Is "1" if the service has recovered.
DOWNSECS Number of seconds the service has been down.
DOWNSECSMSG When recovered, holds the text "Event duration : N"
where N is the DOWNSECS value.
APIKEY="your api key here" USERKEY="your user key here" CURL="/usr/local/bin/curl" URL="https://api.pushover.net/1/messages.json"
Don't show an ack code if it's 0 (recovered)
[ ${ACKCODE} != 0 ] && ACK="[${ACKCODE}]"
vm.feld.me:procs red [45595]
MESSAGE=$(cat <<EOF ${BBHOSTNAME}:${BBSVCNAME} ${BBCOLORLEVEL} ${ACK}
See ${XYMONWEBHOST}/cgi-bin/svcstatus.sh?HOST=${BBHOSTNAME}&SERVICE=${BBSVCNAME} EOF )
${CURL} -q -s --form-string "token=${APIKEY}" --form-string "user=${USERKEY}" --form-string "message=${MESSAGE}" ${URL} 1>/dev/null 2>>/var/log/xymon/alert.log