Improve style in config file and add uptime and webstat scripts.

Sat, 04 Apr 2009 22:28:28 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 04 Apr 2009 22:28:28 +0200
changeset 135
cd68ee26852b
parent 134
17a161a7989c
child 136
ca197d884ebd

Improve style in config file and add uptime and webstat scripts.

mrtg/mrtg.cfg file | annotate | diff | comparison | revisions
mrtg/mrtg.spec file | annotate | diff | comparison | revisions
mrtg/uptime.pl file | annotate | diff | comparison | revisions
mrtg/webstat.pl file | annotate | diff | comparison | revisions
     1.1 --- a/mrtg/mrtg.cfg	Fri Apr 03 10:48:27 2009 +0200
     1.2 +++ b/mrtg/mrtg.cfg	Sat Apr 04 22:28:28 2009 +0200
     1.3 @@ -3,7 +3,7 @@
     1.4  ##
     1.5  
     1.6  WorkDir:           @l_prefix@/web/mrtg
     1.7 -Imagedir:          @l_prefix@/share/mrtg/icons 
     1.8 +Imagedir:          @l_prefix@/share/mrtg/icons
     1.9  Logdir:            @l_prefix@/var/mrtg
    1.10  
    1.11  Refresh:           300
    1.12 @@ -35,32 +35,32 @@
    1.13  
    1.14  #Target[proc]:      1.3.6.1.4.1.4007.42.1.2.4.2&1.3.6.1.4.1.4007.42.1.2.4.2:public@localhost
    1.15  #Title[proc]:       Number of processes
    1.16 -#PageTop[proc]:     <H3>Number of processes</H3>
    1.17 +#PageTop[proc]:     <H3>Number of Processes</H3>
    1.18  #MaxBytes[proc]:    400
    1.19  #Unscaled[proc]:    dymw
    1.20  #Options[proc]:     gauge,nopercent,growright,nobanner,nolegend,noinfo
    1.21  #YLegend[proc]:     Processes
    1.22  #LegendI[proc]:     &nbsp;Nr. of Processes
    1.23 -#LegendO[proc]: 
    1.24 +#LegendO[proc]:
    1.25  #ShortLegend[proc]: &nbsp;
    1.26  
    1.27  #Target[mem]:       1.3.6.1.4.1.4007.42.1.2.2.1.3&1.3.6.1.4.1.4007.42.1.2.2.2.3:public@localhost
    1.28  #MaxBytes[mem]:     1000
    1.29  #kMG[mem]:          k
    1.30  #Title[mem]:        Memory Usage
    1.31 -#PageTop[mem]:      <H3>Memory usage</H3>
    1.32 +#PageTop[mem]:      <H3>Memory Usage</H3>
    1.33  #Options[mem]:      growright,nopercent,gauge,nobanner,nolegend,noinfo
    1.34  #LegendI[mem]:      &nbsp;Real Mem Free
    1.35  #LegendO[mem]:      &nbsp;Swap Free
    1.36  #YLegend[mem]:      kbyte
    1.37  #ShortLegend[mem]:  &nbsp;byte
    1.38  
    1.39 -#Target[root]:      1.3.6.1.4.1.4007.42.1.2.7.1.1.6.1&1.3.6.1.4.1.4007.42.1.2.7.1.1.4.1:public@localhost 
    1.40 +#Target[root]:      1.3.6.1.4.1.4007.42.1.2.7.1.1.6.1&1.3.6.1.4.1.4007.42.1.2.7.1.1.4.1:public@localhost
    1.41  #Options[root]:     nopercent,growright,nobanner,nolegend,noinfo,integer,gauge
    1.42  #Title[root]:       Disk usage for /
    1.43  #MaxBytes[root]:    250
    1.44  #kMG[root]:         M
    1.45 -#PageTop[root]:     <H3>Disk usage /</H3>
    1.46 +#PageTop[root]:     <H3>Disk Usage /</H3>
    1.47  #LegendI[root]:     free
    1.48  #LegendO[root]:     total
    1.49  #YLegend[root]:     MByte
    1.50 @@ -70,19 +70,19 @@
    1.51  #Options[var]:      nopercent,growright,nobanner,nolegend,noinfo,integer,gauge
    1.52  #MaxBytes[var]:     2000
    1.53  #kMG[var]:          M
    1.54 -#Title[var]:        <H3>Disk usage for /var</H3>
    1.55 -#PageTop[var]:      Disk usage /var
    1.56 +#Title[var]:        Disk usage for /var
    1.57 +#PageTop[var]:      <H3>Disk Usage /var</H3>
    1.58  #LegendI[var]:      free
    1.59  #LegendO[var]:      total
    1.60  #YLegend[var]:      MByte
    1.61  #ShortLegend[var]:  &nbsp;Byte
    1.62  
    1.63 -#Target[usr]:       1.3.6.1.4.1.4007.42.1.2.7.1.1.6.4&1.3.6.1.4.1.4007.42.1.2.7.1.1.4.4:public@localhost 
    1.64 +#Target[usr]:       1.3.6.1.4.1.4007.42.1.2.7.1.1.6.4&1.3.6.1.4.1.4007.42.1.2.7.1.1.4.4:public@localhost
    1.65  #Options[usr]:      nopercent,growright,nobanner,nolegend,noinfo,integer,gauge
    1.66  #MaxBytes[usr]:     2000
    1.67  #kMG[usr]:          M
    1.68 -#Title[usr]:        <H3>Disk usage for /usr</H3>
    1.69 -#PageTop[usr]:      Disk usage /usr
    1.70 +#Title[usr]:        Disk usage for /usr
    1.71 +#PageTop[usr]:      <H3>Disk Usage /usr</H3>
    1.72  #LegendI[usr]:      free
    1.73  #LegendO[usr]:      total
    1.74  #YLegend[usr]:      MByte
    1.75 @@ -93,18 +93,18 @@
    1.76  #MaxBytes[d1]:      30000
    1.77  #kMG[d1]:           M
    1.78  #Title[d1]:         Disk usage for /d1
    1.79 -#PageTop[d1]:       <H3>Disk usage cw, www</H3>
    1.80 +#PageTop[d1]:       <H3>Disk Usage cw, www</H3>
    1.81  #LegendI[d1]:       free
    1.82  #LegendO[d1]:       total
    1.83  #YLegend[d1]:       MByte
    1.84  #ShortLegend[d1]:   &nbsp;Byte
    1.85  
    1.86 -#Target[d2]:        1.3.6.1.4.1.4007.42.1.2.7.1.1.6.6&1.3.6.1.4.1.4007.42.1.2.7.1.1.4.6:public@localhost 
    1.87 +#Target[d2]:        1.3.6.1.4.1.4007.42.1.2.7.1.1.6.6&1.3.6.1.4.1.4007.42.1.2.7.1.1.4.6:public@localhost
    1.88  #Options[d2]:       nopercent,growright,nobanner,nolegend,noinfo,gauge
    1.89  #MaxBytes[d2]:      40000
    1.90  #kMG[d2]:           M
    1.91  #Title[d2]:         Disk usage for /d2
    1.92 -#PageTop[d2]:       <H3>Disk usage mail, dmail, mail home</H3>
    1.93 +#PageTop[d2]:       <H3>Disk Usage mail, dmail, mail home</H3>
    1.94  #LegendI[d2]:       free
    1.95  #LegendO[d2]:       total
    1.96  #YLegend[d2]:       MByte
    1.97 @@ -115,9 +115,52 @@
    1.98  #MaxBytes[boot]:    40
    1.99  #kMG[boot]:         M
   1.100  #Title[boot]:       Disk usage for /boot
   1.101 -#PageTop[boot]:     <H3>Disk usage Kernel</H3>
   1.102 +#PageTop[boot]:     <H3>Disk Usage Kernel</H3>
   1.103  #LegendI[boot]:     free
   1.104  #LegendO[boot]:     total
   1.105  #YLegend[boot]:     MByte
   1.106  #ShortLegend[boot]: &nbsp;Byte
   1.107  
   1.108 +## Server Uptime
   1.109 +#Target[uptime]:      `@l_prefix@/share/mrtg/scripts/uptime.pl`
   1.110 +#Options[uptime]:     growright,unknaszero,nopercent,gauge
   1.111 +#MaxBytes[uptime]:    1000
   1.112 +#Unscaled[uptime]:    dymw
   1.113 +#Title[uptime]:       System uptime
   1.114 +#PNGTitle[uptime]:    System uptime
   1.115 +#PageTop[uptime]:     <H3>System Uptime</H3>
   1.116 +#LegendI[uptime]:     Uptime
   1.117 +#LegendO[uptime]:
   1.118 +#Legend1[uptime]:     Maximum uptime days
   1.119 +#YLegend[uptime]:     Time (days)
   1.120 +#ShortLegend[uptime]: n
   1.121 +
   1.122 +## HTTP Server Bytes
   1.123 +#Target[httpbytes]: `@l_prefix@/share/mrtg/scripts/webstats.pl bytes`
   1.124 +#Options[httpbytes]: growright,nopercent,noinfo,nobanner,integer,noi
   1.125 +#MaxBytes[httpbytes]: 256000
   1.126 +#Unscaled[httpbytes]: ymwd
   1.127 +#Title[httpbytes]: HTTP server traffic
   1.128 +#PNGTitle[httpbytes]: Kbytes per second
   1.129 +#PageTop[httpbytes]: <H3>HTTP server traffic</H3>
   1.130 +#LegendI[httpbytes]:
   1.131 +#LegendO[httpbytes]:
   1.132 +#YLegend[httpbytes]: Kbytes/second
   1.133 +#ShortLegend[httpbytes]: KB/s
   1.134 +
   1.135 +## HTTP Server Hits
   1.136 +#Target[httphits]: `@l_prefix@/share/mrtg/scripts/webstats.pl hits`
   1.137 +#Options[httphits]:  growright,nopercent,perhour,nobanner,noinfo,integer,noi
   1.138 +#MaxBytes[httphits]: 12000
   1.139 +#Unscaled[httphits]: ymwd
   1.140 +#WithPeak[httphits]: wmy
   1.141 +#Title[httphits]: HTTP server hits
   1.142 +#PNGTitle[httphits]: Hits per hour
   1.143 +#PageTop[httphits]: <H3>HTTP server hits</H3>
   1.144 +#LegendI[httphits]:
   1.145 +#LegendO[httphits]:
   1.146 +#Legend2[httphits]: Hits per hour
   1.147 +#Legend4[httphits]: 5 Minute peak
   1.148 +#YLegend[httphits]: Hits/hour
   1.149 +#ShortLegend[httphits]: Hits/hour
   1.150 +
     2.1 --- a/mrtg/mrtg.spec	Fri Apr 03 10:48:27 2009 +0200
     2.2 +++ b/mrtg/mrtg.spec	Sat Apr 04 22:28:28 2009 +0200
     2.3 @@ -32,12 +32,14 @@
     2.4  Group:        Monitoring
     2.5  License:      GPL
     2.6  Version:      2.16.2
     2.7 -Release:      20090402
     2.8 +Release:      20090404
     2.9  
    2.10  #   list of sources
    2.11  Source0:      http://oss.oetiker.ch/mrtg/pub/mrtg-%{version}.tar.gz
    2.12  Source1:      mrtg.cfg
    2.13  Source2:      rc.mrtg
    2.14 +Source3:      uptime.pl
    2.15 +Source4:      webstat.pl
    2.16  
    2.17  #   build information
    2.18  Prefix:       %{l_prefix}
    2.19 @@ -96,6 +98,12 @@
    2.20          $RPM_BUILD_ROOT%{l_prefix}/share/mrtg
    2.21      mv -f $RPM_BUILD_ROOT%{l_prefix}/share/doc/mrtg2 \
    2.22          $RPM_BUILD_ROOT%{l_prefix}/share/mrtg/doc
    2.23 +    %{l_shtool} mkdir -f -p -m 755 \
    2.24 +        $RPM_BUILD_ROOT%{l_prefix}/share/mrtg/scripts
    2.25 +    %{l_shtool} install -c -m 755 %{l_value -s -a} \
    2.26 +        %{SOURCE uptime.pl} \
    2.27 +        %{SOURCE webstat.pl} \
    2.28 +        $RPM_BUILD_ROOT%{l_prefix}/share/mrtg/scripts/
    2.29      rmdir $RPM_BUILD_ROOT%{l_prefix}/share/doc
    2.30      strip $RPM_BUILD_ROOT%{l_prefix}/bin/rateup >/dev/null 2>&1 || true
    2.31      %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/mrtg/uptime.pl	Sat Apr 04 22:28:28 2009 +0200
     3.3 @@ -0,0 +1,14 @@
     3.4 +#!@l_prefix@/bin/perl
     3.5 +##
     3.6 +##  uptime.pl: provide formatted uptime(1) information
     3.7 +##
     3.8 +
     3.9 +$ZERO = 0;
    3.10 +$uptime = `uptime`;
    3.11 +
    3.12 +$uptime =~ /up (.*?) day/;
    3.13 +$up = int($1);
    3.14 +$hostname = `hostname`;
    3.15 +
    3.16 +print "$ZERO\n$up\n"
    3.17 +
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/mrtg/webstat.pl	Sat Apr 04 22:28:28 2009 +0200
     4.3 @@ -0,0 +1,58 @@
     4.4 +#!@l_prefix@/bin/perl
     4.5 +##
     4.6 +##  webstats.pl: return HTTP server hits and bytes
     4.7 +##
     4.8 +##  Configure Apache HTTP server like so:
     4.9 +##    <Location /server-status>
    4.10 +##        SetHandler server-status
    4.11 +##        Order allow,deny
    4.12 +##        Allow from localhost
    4.13 +##    </Location>
    4.14 +##    ExtendedStatus On
    4.15 +##
    4.16 +
    4.17 +@res = `@l_prefix@/bin/lynx -dump http://localhost/server-status`;
    4.18 +
    4.19 +foreach $res (@res) {
    4.20 +    if ($res =~ /Server uptime: (.*)$/) {
    4.21 +        $up = $1;last
    4.22 +    }
    4.23 +    else
    4.24 +        next
    4.25 +
    4.26 +    if ($res =~ /Server at/) {
    4.27 +        $server = $res;
    4.28 +        last
    4.29 +    }
    4.30 +    else
    4.31 +        next
    4.32 +}
    4.33 +
    4.34 +@res = `@l_prefix@/bin/lynx -dump http://localhost/server-status?auto`;
    4.35 +
    4.36 +foreach $res (@res) {
    4.37 +    if ($res =~ /Total Accesses: (\d+)/) {
    4.38 +        $d1 = $1;
    4.39 +        next
    4.40 +    }
    4.41 +
    4.42 +    if ($res =~ /Total kBytes: (\d+)/) {
    4.43 +        $d2 = $1 * 1024;
    4.44 +        next
    4.45 +    }
    4.46 +}
    4.47 +
    4.48 +$d1 = int($d1);
    4.49 +$d2 = int($d2);
    4.50 +
    4.51 +if ($ARGV[0] eq "hits") {
    4.52 +    print "$d1\n";
    4.53 +    print "$d1\n";
    4.54 +} elsif ($ARGV[0] eq "bytes") {
    4.55 +    print "$d2\n";
    4.56 +    print "$d2\n";
    4.57 +}
    4.58 +
    4.59 +print "$up\n";
    4.60 +print "$server";
    4.61 +

mercurial