[rt-users] Audible alerts
Hornet
hornetmadness at gmail.com
Wed Aug 29 13:30:40 EDT 2007
On 7/8/07, Chr. v. Stuckrad <stucki at mi.fu-berlin.de> wrote:
> On Sat, 07 Jul 2007, Hornet wrote:
>
> > I'm looking to add an alert when a new ticket is created or status has
>
> I've done this with a local schellscript and the 'lynx'
> ascii-browser for only a very spacial case but it might
> be an idea to start with?
>
> Thie following is not really a 'runnable version',
> because I had to remove some parts specific to my
> own setup and system, but it will be a 'nearly' usable
> example.
>
> May be it helps? I run this while 'on dipatch duty'
> to not need to look at RT while working on other windows.
>
> #!/bin/bash
>
> # the trick in this script is, that 'echo' builtin of bash
> # seems NOT to puts iths argument into the commandline
> # so running "echo ... '$PASSWORD'| lynx ..." does
> # not show tha password, and because it must be entered
> # it is not saved in a File. But of course you may
> # install/use this only on 'locally secure hosts' because
> # the Password will exist in ClearText in Memory at rntime.
>
> # Startup URL
> STURI='https://...SERVER.../rt/...URL_to_GET'
>
> # user to ask RT with
> USER=...username_to_login_with...
>
> # ask every N Seconds
> SLEEPTIME=${SLEEPTIME:-30}
>
> PLAYER=...soundplayer_used...
>
> ADDSOUND=...wherever_the_sound_is...
>
> ########################### change at your own risk ########################
>
> # cd hopefully to the locally-correct home?
> cd $HOME
>
> # (re)set terminal if aborted
> trap "stty echo echoe echok; exit 1" 0 1 2 3 15
> # ok, now check sound / ask for password
> $PLAYER $PWDSOUND
> # read without echo
> echo -n 'pw: '
> stty -echo -echoe -echok echonl; read line ; stty echo echoe echok
> # password now known
> # check access:
> if echo -e "-dump\n-source\n-auth=${USER}:$line\n${STURI}" | lynx - >/dev/null 2>&1
> then
> echo Access OK, backgrounding...
> else
> echo "${BELL}SORRY, cannot access RT"
> exit 1
> fi
> # OK run in background!
> (
> # loop forever
> while true
> do
> #[1] *DER* Trick
> if echo -e "-dump\n-source\n-auth=${USER}:$line\n${STURI}" | lynx - | tee ~/.rtcheck.html | awk $ADEBUG '
> BEGIN { if (DEBUG) { print 0 }; mibad=0; red=0 }
> DEBUG==1 { print $0 }
> /class="oddline MIbad"/ { mibad=1; if (DEBUG) { print 1 }; next }
> /class="evenline MIbad"/ { mibad=1; if (DEBUG) { print 1 }; next }
> mibad==1 && /Query.*eingang.*Rechnerbetrieb/ {
> if (DEBUG) { print 2 }; red=1
> }
> mibad==1 { if (DEBUG) { print 0 }; mibad=0 }
> END { if (red) {
> if (DEBUG) { print "red" }; exit 0
> } else {
> if (DEBUG) { print "green" }; exit 1
> }
> }'
> then
> $PLAYER $ATTSOUND
> fi
> sleep $SLEEPTIME
> done
> ) &
>
> --
> Christoph von Stuckrad * * |nickname |<stucki at mi.fu-berlin.de> \
> Freie Universitaet Berlin |/_*|'stucki' |Tel(days):+49 30 838-75 459|
> Mathematik & Informatik EDV |\ *|if online|Tel(else):+49 30 77 39 6600|
> Takustr. 9 / 14195 Berlin * * |on IRCnet|Fax(alle):+49 30 838-75 454/
>
--
Thanks for the info.
I wrote something similar in perl maily because I didn't want to tied
it to any one PC. just make it +x and place it in your cgi-bin dir and
open it in a web browser.
Firefox (windows) seemed to want to install quicktime, and since I
hate QT and RA, I just use IE. Weird for a simpe .wav file.
______________
#!/usr/bin/perl
use strict;
use Date::Manip;
my $refresh=300; #in sec
my $date=UnixDate("now","%Y-%m-%d %H:%MGMT");
$ENV{'RTUSER'}="nagios";
$ENV{'RTPASSWD'}="ThePassw0rd";
$ENV{'RTSERVER'}="http://yourserver/rt";
my $naghome="/home/noc";
my $ref=$refresh/60;
my $cmd="$naghome/scripts/rt-3.4 ls -s \"\'Status\' = \'new\'\ OR
\'Status\' = \'open\'\"";
#print $cmd."\n";
open (RT, "$cmd|") || die "$cmd $!\n";
print "Content-type: text/html\n\n";
print '<meta http-equiv="refresh" content="300"><br>';
print "Date: $date : Refreshed every $ref minutes<br><br>";
my $skip=0;
while (<RT>) {
chomp;
if ($_ =~ /^\d+/) {
print "$_<br>";
if (!$skip) {
print '<EMBED SRC="/offline1.wav" VSPACE="0"
HSPACE="0" AUTOSTART=TRUE LOOP=FALSE HIDDEN=TRUE>';
# print '<EMBED SRC="/offline7.wav" VSPACE="0"
HSPACE="0" AUTOSTART=TRUE LOOP=FALSE HIDDEN=TRUE>';
$skip=1;
}
} else {
print "All is well!";
}
}
close RT;
-Erik-
More information about the rt-users
mailing list