maniu@securebrain.com:~/script# cat mkview




#!/sbin/sh

> /usr/local/script/monitorlcd/sla.month
> /usr/local/script/monitorlcd/sla.year

echo "SERVICE SLA_MONTH" > /usr/local/script/monitorlcd/sla.month

perl svc_rep_3 -t thismonth | egrep -e "Mail_Exchange|Mail_Exchange|Network_to_UK|Network_Local|Mainframe_Prod|UIMX|UIMX|Web_QOL|TriaTel_Service|BlackBerry_Service|Fax_Server_Service"  >> /usr/local/script/monitorlcd/sla.month

echo "SERVICE SLA_YEAR" > /usr/local/script/monitorlcd/sla.year
perl svc_rep_3 -t thisyear | egrep -e "Mail_Exchange|Mail_Exchange|Network_to_UK|Network_Local|Mainframe_Prod|UIMX|UIMX|Web_QOL|TriaTel_Service|BlackBerry_Service|Fax_Server_Service"  >> /usr/local/script/monitorlcd/sla.year

> status

echo "STATUS" > /usr/local/script/monitorlcd/status

wget -q --user=management --password=directline "http://nagios.directline.italy/nagios/cgi-bin/status.cgi?host=all" -O /usr/local/script/monitorlcd/pippo.html
./rm_tag.sed /usr/local/script/monitorlcd/pippo.html > /usr/local/script/monitorlcd/status.html
sed -i /^\$/d /usr/local/script/monitorlcd/status.html
sed -i 's/\ \;//g' /usr/local/script/monitorlcd/status.html

for i in Mail_Exchange Mail_Exchange Network_to_UK Network_Local Mainframe_Prod UIMX UIMX Web_QOL TriaTel_Service BlackBerry_Service Fax_Server_Service
do
cat /usr/local/script/monitorlcd/status.html | sed -n '/'$i'/{n;p}'  >> /usr/local/script/monitorlcd/status
done

paste /usr/local/script/monitorlcd/status /usr/local/script/monitorlcd/sla.month /usr/local/script/monitorlcd/sla.year | awk ' { print $2";", $1";", $3";", $5";" }' 





maniu@securebrain.com:~/script# cat svc_rep_3


#!/usr/bin/perl


use strict ;

use Nagios::Report ;
use Getopt::Std ;

use vars qw($opt_t) ;

getopt 't' ;

my $usage = <

Displays those hosts with less than 100% total time up during the timeperiod.

timeperiod ::= today     | yesterday   |
               thisweek  | lastweek    |
               thismonth | lastmonth   |
               thisyear  | lastyear    |
               last12hours | last24hours | last7days | last31days |
               HHMM      | HH::MM      |
               DD.MM.YY  | DD.MM.YYYY  | MM/DD/YY | MM/DD/YYYY    |
               24hourtime date

eg $0 -t 07:00 01.12.2005

USAGE

die $usage
  unless $opt_t ;

die $usage
  unless $opt_t =~ m#^(?:
                        today                                                                           |
                        yesterday                                                                       |
                        this (?:week|month|year)                                                        |
                        last (?:week|month|year|24hours|12hours|7days|31days|\d+days?|\d+hours?)        |
                        (?: \d\d :? \d\d  \s+  \d\d? [\./] \d\d? [\./] \d\d (?:\d\d)?)                  |
                        (?: \d\d :? \d\d)                                                               |
                        (?: \d\d? [\./] \d\d? [\./] \d\d (?:\d\d)?)
                     )$#x ;


my $x = Nagios::Report->new(
                                q,
                                [ qw(24x7) ],
                                $opt_t,
                                1,
                           )
  or die "Can't construct Nagios::Report object." ;

$x->mkreport(
                [
                qw(
                    SERVICE_DESCRIPTION
                    PERCENT_TOTAL_TIME_OK
                  )
                ],

                sub { my %F = @_; my $u = $F{PERCENT_TOTAL_TIME_OK}; $u =~ s/%//; },

                &comp(alpha => 0, ascend => 0, fields => [qw(TOTAL_TIME_CRITICAL)]),

) ;


$x->debug_dump(300, 6) ;


maniu@securebrain.com:~/script# cat rm_tag.sed


#!/bin/sed -nf
#< strip HTML tags from input

: loop
/<.*>/ {
         #if we have a HTML tag, remove it
         s/<[^<>]*>//g

         #branch if a successful substitution was made
         t loop
}
/




:q!