Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
stat.pl
Package: mrtg-2.13.2.zip [view]
Upload User: shbosideng
Upload Date: 2013-05-04
Package Size: 1555k
Code Size: 5k
Category:
SNMP
Development Platform:
C/C++
- #!/usr/bin/perl -w
- # $Id: stat.pl,v 1.1.1.1 2002/02/26 10:16:37 oetiker Exp $
- ####################
- # New updates for stat.pl
- ####################
- %D_STAT=(
- RQ => 0,
- RR => 1,
- RIQ => 2,
- RNXD => 3,
- RFwdQ => 4,
- RFwdR => 5,
- RDupQ => 6,
- RDupR => 7,
- RFail => 8,
- RFErr => 9,
- RErr => 10,
- RTCP => 11,
- RAXFR => 12,
- RLame => 13,
- ROpts => 14,
- SSysQ => 15,
- SAns => 16,
- SFwdQ => 17,
- SDupQ => 18,
- SFail => 19,
- SFErr => 20,
- SErr => 21,
- RNotNsq => 22,
- SNaAns => 23,
- SNXD => 24,
- );
- # This file is to feed mrtg with right information.
- # You could do this more fancy with up-time and stuff like that,
- # but that will be maybe in a couple of versions upward.
- # This works and i dont want to be like other big companys that gives out
- # Programs that want work but is all that fancy.
- #
- # Any way please do change this files so the right PATH to youre scripts
- # are there.
- # Requirements:
- # this scripts require MRTG (of course), i wont get in how to configure this,
- # because im not sure how to do it correctly, i manged to get it to work.
- # but i sugest you take a real good look how to configure MRTG.
- # more requirement is , perl version 5.004_05. Look at the documentation
- # on MRTG this one needs you to have some patches for some OS.
- #
- # If you want to use getting iformation from a remote DNS, sure you could use
- # my script dns.named but beware that this is NOT safe maybe you should use
- # If you want to use getting iformation from a remote DNS, sure you could use
- # scp to get youre file, but if not, be sure to set the rights so no non-auth
- # could see what password is.
- # dns.named requires expect version 5.26.0 (i havent tested on other versions)
- #
- # im not the greatest script maker but i managed this to work, but if
- # you have any comments or you have some great changes please be free to send them to calle@volvo.se
- # HOSTNAME youre domain this will show up in the web-page
- #
- # OK now to this new version of this program
- # $LOG is where you find youre named.stats *
- # in Bind 8.2.1 the way to get youre named.stats is "ndc stats"
- # in Bind 4.9.3 kill -ABRT `cat /var/run/named.pid`
- # in Bind kill -ILL `cat /var/run/named.pid`
- #
- # $RUN you have to set that to where youre script is set to run ex my $RUN = "/home/myhomeaccount/";
- #
- # now to the real new thing that is you can have 2 graphs in one MRTG session
- # you have to set the $INCOMING and $OUTGOING, $INCOMING = $D_STAT{"RQ"}; <-- this one needs to be set to look
- # for wich Data you want to see on the first Graph (RQ is Requested Queries)
- #
- # now to the other $OUTGOING = $D_STAT{"RFail"}; i set default but can be changed for what you want
- # RFail Requested Failure i done a short list of What some of them means , but if you want to have a complete list
- # you could look into the DNS and Bind book from O'reilly page 166
- #
- # Short list of some of the things you could pull out
- #
- # RQ: Requested Queries.
- # RR: Count of responses recieved from relay.
- # RIQ: Count of reverse queries recieved from relay.
- # RNXD: Count of "no such domain" answeres.
- # RFwdQ: Count of queries received from relay that nedded more processing
- # RFwdR: Count of is the reponses recived from relay that answered the
- # original query and were passed back to application.
- # RDupR: Is the count of duplicat response from relay.
- # RFail: Is the count of SERVFAIL response from relay.
- # RFErr: is the count of FORMERR response from relay.
- # RErr: is the count of errors that werent either SERVFAIL or FORMERR
- # RLame: Count of lame DELEGATIONS.
- # and so on read the book.
- my $HOSTNAME = "HOST.YOURE.DOMAIN";
- my $LOG = "/home/";
- my $RUN = "/home/";
- my $INCOMING = $D_STAT{"RQ"};
- my $OUTGOING = $D_STAT{"RFail"};
- #######################################
- #### Please Dont toch this part
- ######################################
- my $QUE_P_MIN =();
- my $QUE_P_OTHER = ();
- my @N_STATS=();
- my @OLD_S=();
- my $UPTIME = ();
- sub HIST {
- open (STAT , "$LOG") or die "could not find or open file $LOG";
- @N_STAT = <STAT>;
- close (STAT);
- open (V_OLD , "$RUN/OLD");
- my @OLD_S = <V_OLD>;
- close (V_OLD);
- my $G_FLAG = "no";
- foreach $line (@N_STAT) {
- if ( $line =~ m/^([0-9]+)s+S+s+S+sreset/ ){
- $UPTIME = $1;
- }
- if ( $G_FLAG =~ /yes/) {
- my @NUM_QUE=split ' ',$line;
- open ( LOGGER , "> $RUN/OLD");
- print LOGGER "$NUM_QUE[$INCOMING]n";
- print LOGGER "$NUM_QUE[$OUTGOING]n";
- close ( LOGGER );
- $QUE_P_MIN = $NUM_QUE[$INCOMING]-$OLD_S[0];
- $QUE_P_OTHER = $NUM_QUE[$OUTGOING]-$OLD_S[1];
- $G_FLAG = "no";
- }
- if ($line =~ /(Global)/) {
- $G_FLAG = "yes";
- }
- }
- print "$QUE_P_MINn$QUE_P_OTHERn$UPTIMEn$HOSTNAMEn";
- }
- &HIST();