Title: [opsview-base] [31] Fix error from NMIS for bad sort in report
- Revision
- 31
- Author
- tvoon
- Date
- 2012-08-07 18:11:51 +0100 (Tue, 07 Aug 2012)
Log Message
Fix error from NMIS for bad sort in report
Modified Paths
Added Paths
Modified: trunk/Makefile
===================================================================
--- trunk/Makefile 2012-08-06 18:33:51 UTC (rev 30)
+++ trunk/Makefile 2012-08-07 17:11:51 UTC (rev 31)
@@ -639,6 +639,7 @@
cd ${NMIS} && patch -p1 < ../patches/nmis_support_for_netscreen_alteons_foundrys_ellacoya_ciscocss.patch
cd ${NMIS} && patch -p1 < ../patches/nmis_ellacoya_stats_collection.patch
cd ${NMIS} && patch cgi-bin/admin.pl < ../patches/nmis_block_bad_shell_characters.patch
+ cd ${NMIS} && patch cgi-bin/reports.pl < ../patches/nmis_report_top10.patch
cp patches/nmis_juniper.oid ${NMIS}/mibs/juniper.oid
cp patches/nmis_netscreen.oid ${NMIS}/mibs/netscreen.oid
cp patches/nmis_arrowpoint.oid ${NMIS}/mibs/arrowpoint.oid
Added: trunk/patches/nmis_report_top10.patch
===================================================================
--- trunk/patches/nmis_report_top10.patch (rev 0)
+++ trunk/patches/nmis_report_top10.patch 2012-08-07 17:11:51 UTC (rev 31)
@@ -0,0 +1,47 @@
+--- /tmp/reports.pl 2012-08-07 18:07:22.000000000 +0100
++++ /usr/local/nagios/nmis/cgi-bin/reports.pl 2012-08-07 18:03:11.000000000 +0100
+@@ -785,7 +786,7 @@
+ printHeadCell("AVERAGE RESPONSE TIME (msec)","#FFFFFF");
+ rowEnd;
+ my $i=10;
+- foreach $reportnode ( sort { $reportTable{$b}{response} <=> $reportTable{$a}{response} } keys %reportTable )
++ foreach $reportnode ( sort { $reportTable{$b}{response} <=> $reportTable{$a}{response} || $reportTable{$b}{response} cmp $reportTable{$a}{response} } keys %reportTable )
+ {
+ if (defined $user) {next unless $user->InGroup($NMIS::nodeTable{$reportnode}{group})};
+ my $slave_ref = "http://$NMIS::config{nmis_host}$NMIS::config{nmis}?file=$conf";
+@@ -813,7 +815,7 @@
+ printHeadCell("PERCENT PING LOSS","#FFFFFF",3);
+ rowEnd;
+ my $i=10;
+- foreach $reportnode ( sort { $reportTable{$b}{loss} <=> $reportTable{$a}{loss} } keys %reportTable )
++ foreach $reportnode ( sort { $reportTable{$b}{loss} <=> $reportTable{$a}{loss} || $reportTable{$b}{loss} cmp $reportTable{$a}{loss} } keys %reportTable )
+ {
+ last if $reportTable{$reportnode}{loss} == 0; # early exit if rest are zero.
+ if (defined $user) {next unless $user->InGroup($NMIS::nodeTable{$reportnode}{group})};
+@@ -847,7 +849,7 @@
+ printHeadCell("CPU LOAD","#FFFFFF",2);
+ rowEnd;
+ my $i=10;
+- foreach $reportnode ( sort { $cpuTable{$b}{avgBusy5min} <=> $cpuTable{$a}{avgBusy5min} } keys %cpuTable )
++ foreach $reportnode ( sort { $cpuTable{$b}{avgBusy5min} <=> $cpuTable{$a}{avgBusy5min} || $cpuTable{$b}{avgBusy5min} cmp $cpuTable{$a}{avgBusy5min} } keys %cpuTable )
+ {
+ if (defined $user) {next unless $user->InGroup($NMIS::nodeTable{$reportnode}{group})};
+ my $slave_ref = "http://$NMIS::config{nmis_host}$NMIS::config{nmis}?file=$conf";
+@@ -879,7 +881,7 @@
+ printHeadCell("PROC MEM USED","#FFFFFF",2);
+ rowEnd;
+ my $i=10;
+- foreach $reportnode ( sort { $cpuTable{$b}{ProcMemUsed} <=> $cpuTable{$a}{ProcMemUsed} } keys %cpuTable )
++ foreach $reportnode ( sort { $cpuTable{$b}{ProcMemUsed} <=> $cpuTable{$a}{ProcMemUsed} || $cpuTable{$b}{ProcMemUsed} cmp $cpuTable{$a}{ProcMemUsed}} keys %cpuTable )
+ {
+ if (defined $user) {next unless $user->InGroup($NMIS::nodeTable{$reportnode}{group})};
+ my $slave_ref = "http://$NMIS::config{nmis_host}$NMIS::config{nmis}?file=$conf";
+@@ -911,7 +913,7 @@
+ printHeadCell("IO MEM USED","#FFFFFF",2);
+ rowEnd;
+ my $i=10;
+- foreach $reportnode ( sort { $cpuTable{$b}{IOMemUsed} <=> $cpuTable{$a}{IOMemUsed} } keys %cpuTable )
++ foreach $reportnode ( sort { $cpuTable{$b}{IOMemUsed} <=> $cpuTable{$a}{IOMemUsed} || $cpuTable{$b}{IOMemUsed} cmp $cpuTable{$a}{IOMemUsed} } keys %cpuTable )
+ {
+ if (defined $user) {next unless $user->InGroup($NMIS::nodeTable{$reportnode}{group})};
+ my $slave_ref = "http://$NMIS::config{nmis_host}$NMIS::config{nmis}?file=$conf";
_______________________________________________
Opsview-checkins mailing list
[email protected]
http://lists.opsview.org/lists/listinfo/opsview-checkins