40 lines
		
	
	
		
			No EOL
		
	
	
		
			920 B
		
	
	
	
		
			Perl
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			No EOL
		
	
	
		
			920 B
		
	
	
	
		
			Perl
		
	
	
	
	
	
| #!/usr/bin/perl -w
 | |
| 
 | |
| if ( $ARGV[0] ) {
 | |
| 
 | |
|     if ( $ARGV[0] eq 'autoconf' ) {
 | |
|         if ( -r '/bin/netstat') {
 | |
|             print "yes\n";
 | |
|             exit 0;
 | |
|         }
 | |
|         print "no\n";
 | |
|         exit 0;
 | |
| 
 | |
|     } elsif ( $ARGV[0] eq 'config' ) {
 | |
|         print <<EOM;
 | |
| graph_title UDP Statistics
 | |
| graph_args --base 1000 -l 0
 | |
| graph_vlabel Packets/\${graph_period}
 | |
| graph_category network
 | |
| received.label Received
 | |
| received.draw AREA
 | |
| received.type DERIVE
 | |
| received.min 0
 | |
| errors.label Errors
 | |
| errors.draw LINE1
 | |
| errors.type DERIVE
 | |
| errors.min 0
 | |
| sent.label Sent
 | |
| sent.draw LINE1
 | |
| sent.type DERIVE
 | |
| sent.min 0
 | |
| EOM
 | |
|         exit 0;
 | |
|     }
 | |
| }
 | |
| 
 | |
| @netstat = qx{/bin/netstat -us | awk '/packets sent/          \{ print "sent.value " \$1 \}
 | |
|                                       /packets received/      \{ print "received.value " \$1 \}
 | |
|                                       /packet receive errors/ \{ print "errors.value " \$1 \}'};
 | |
| 
 | |
| print @netstat; | 
