Perl net monitoring

Network monitoring team

Monitoring and reporting of

Enviroment

Network monitoring team

Proprietary tools

Infrastructure DB

Custom tools

Network infrastructure

architecture.gif

What we use

PERL

SNMP

Simple Network Management Protocol


use Net::SNMP;
my $snmp = Net::SNMP->session(-hostname  => $fqdn, -community => $secret);
# Get the uptime, if there's an answer then SNMP works
return 1 if $snmp->get_request(-varbindlist => [ '1.3.6.1.2.1.1.3.0' ]);

ICMP

Internet Control Message Protocol


use Net::Ping;
my $p = Net::Ping->new("icmp");
return 1 if $p->ping($host, $timeout);
	

DNS

Domain Name System

use Net::DNS;
my $dns = Net::DNS::Resolver->new;
my $query = $dns->search($fqdn);
foreach my $answer ($query->answer) {
	next unless $answer->type eq "A";
	return 1 if $ip eq $answer->address;
}
	

Parallelization

Why ?

How ?

POE - Perl Object Environment

What is it?

Pieces

POE

Advanced parts

NetAudit POE component

NetAudit.gif

And that's it...

Questions?

?