> -----Original Message----- > From: mike [mailto:lists01 at dds.uconn.edu] > Sent: Wednesday, August 25, 2004 3:05 PM > To: nagios-users at lists.sourceforge.net > Subject: [Nagios-users] nagios screen saver? :-) > > > we have a system set up that displays a nagios window 24x7. i'm > wondering how hard it would be to create an X screen saver that floats > a nagios summary around on the screen? :-) I really liked this idea, so I put something together to do it: #!/bin/bash date wget \ --http-user=username \ --http-passwd=password \ -O $HOME/nagios-dump \ 'http://nsc-3.nacs.uci.edu/nagios/cgi-bin/status.cgi?hostgroup=strombrg%2Dmachines&style=overview' 2> /dev/null links -dump-width 120 -dump $HOME/nagios-dump | \ egrep 'UP|DOWN|OK|WARNING|CRITICAL' | \ sed \ -e 's/\[[0-9]\]/ /g' \ -e 's/\[[0-9][0-9]\]/ /g' \ -e 's/\[[0-9][0-9][0-9]\]/ /g' \ -e 's/\[[0-9][0-9][0-9][0-9]\]/ /g' \ -e 's/|/ /g' \ -e 's/View.*$//' \ -e 's/This Host.*$//' \ -e 's/\(CRITICAL\)/======\1======/g' \ -e 's/\(DOWN\)/======\1======/g' | \ awk ' { if (NF == 4) { printf("%s %s %s %s\n",$1,$2,$3,$4)}; if (NF == 2) { printf("%s %s\n",$1,$2)} }' # grep '^| \[' | \ # sed 's/\[[0-9]*\][0-9]*//g' | \ # awk ' { printf("%-40s %-5s %-5s %s\n",$2,$4,$6,$8) }' echo '___________________________________________________________' I'm calling it from: starwars -root -program \ $HOME/bin/nagios-fortune -delay 0 \n\ ...in $HOME/.xscreensaver. BTW, some of those sed patterns are unnecessary, but they shouldn't hurt things. I kind of changed approaches midstream, and then didn't clean up afterward. Also, here's a patch for starwars.c that makes it write lines containing the strings "CRITICAL" and "DOWN" in red: --- hacks/glx/starwars.c.t 2004-08-29 22:33:47.000000000 -0700 +++ hacks/glx/starwars.c 2004-08-30 18:48:08.708854472 -0700 @@ -940,7 +940,15 @@ if (fade_p) { double factor = 1.0 * i / sc->total_lines; - glColor3f (factor, factor, 0.5 * factor); + if (strstr(line,"CRITICAL") == NULL && + strstr(line,"DOWN") == NULL) + { + glColor3f (factor, factor, 0.5 * factor); + } + else + { + glColor3f (factor, 0.0, 0.0); + } } draw_string ((x + xoff) / sc->font_scale, y / sc->font_scale, line); -- Dan Stromberg DCS/NACS/UCI