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

Reply via email to