# Author: Michael Collins (colli2mj@jmu.edu, mcollins@va.rr.com) # Description: A simple tool to make various counts related to # the SNMP process of Road Runner's VoIP system. #;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; # ENTITY LOG PART ; #;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; print "\nENTITY LOG INFORMATION------------------------------------\n"; $entity_path = "/opt/RRvmsbd/log/entity.log"; @entity_args = ("wc", "-l", "$entity_path"); open(PIPE, "@entity_args|") or die "Pipe failed for ENTITY.\n"; while() { @output = split / /; } close(PIPE); $entity_lines = $output[3]; print "Lines in $entity_path: $entity_lines\n"; #\\\\\\\\\\\\\\\\\\\\\\\\\\\\ # SUCCESSES \ #\\\\\\\\\\\\\\\\\\\\\\\\\\\\ @success_args = ("grep", "-c", "-i", "success", "$entity_path"); open(PIPE, "@success_args|"); while() { @successes = split; } close(PIPE); $successes = $successes[0]; print "SNMP successes: $successes\n"; #\\\\\\\\\\\\\\\\\\\\\\\\\\\\ # FAILURES \ #\\\\\\\\\\\\\\\\\\\\\\\\\\\\ @failure_args = ("grep", "-c", "-i", "fail", "$entity_path"); open(PIPE, "@failure_args|"); while() { @failures = split; } close(PIPE); $failures = $failures[0]; print "SNMP failures: $failures\n\n"; #;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; # SNOOP PART ; #;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; print "SNOOP INFORMATION-----------------------------------------\n"; $snoop_path = "/tmp/mysnoop"; @snoop_args = ("snoop", "-i", "$snoop_path"); open(PIPE, "@snoop_args|") or die "Pipe failed for SNOOP.\n"; while() { push(@output_snoop, $_); } close(PIPE); $snoop_length = $#output_snoop + 1; $snmp_traps = $snoop_length/4; print "Lines in $snoop_path: $snoop_length\n"; print "Traps sent to SNMP entity: $snmp_traps\n\n";