[Fedora-directory-users] FDS, SNMP & Cacti...

Richard Megginson rmeggins at redhat.com
Tue Jan 9 19:10:44 UTC 2007


HAWKER, Dan wrote:
> And another attempt...
>
> Have separated out the three files in the tarball as it seems my company
> filter was killing the perl script.
>
> To use, simply follow the Howto on the wiki, but you'll all need to rename
> *openldap_response_time.txt* to openldap_response_time.pl*. The other two
> files are as required.
>
> Thanks
> Dan
>   
Thank you!
http://directory.fedora.redhat.com/download/README.snmp-cacti
http://directory.fedora.redhat.com/download/openldap_response_time.pl
http://directory.fedora.redhat.com/download/cacti_host_template_fedora_directory_server.xml
> #####
>
> Hmmm, had a bounce back from this address. Will try it again and forward to
> the FDS list also...
>
> #####
>
> Hi Richard,
>
> As requested please find attached a tarball with my template and its
> accompanying perl script. If you can pop that onto the wiki so that I can
> link to it, that'd be great.
>
> Regarding a Howto:SNMPMonitoring, have rustled up a quick one on the wiki.
> Should be at http://directory.fedora.redhat.com/wiki/Howto:SNMPMonitoring
>
> Think its all there, but no doubt there will be ommissions and errors :)
>
> Thanks
>
> Dan
> --
>
> Dan Hawker
> Linux System Administrator
> Astrium
>
>   
> ------------------------------------------------------------------------
>
> #! /usr/bin/perl -w
>
> #====================================================================
> # What's this ?
> #====================================================================
> # Script designed for cacti [ http://www.cacti.net ]
> # Gives the time to do these LDAP operations :
> # - bind (anonymous or not)
> # - RootDSE base search
> # - suffix (found in RootDSE) sub search (20 entries max) 
> #
> # Copyright (C) 2005 Clement OUDOT
> # Copyright (C) 2005 LINAGORA
> #
> # This program is free software; you can redistribute it and/or
> # modify it under the terms of the GNU General Public License
> # as published by the Free Software Foundation; either version 2
> # of the License, or (at your option) any later version.
> #
> # This program is distributed in the hope that it will be useful,
> # but WITHOUT ANY WARRANTY; without even the implied warranty of
> # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> # GNU General Public License for more details.
> #
> # You should have received a copy of the GNU General Public License
> # along with this program; if not, write to the Free Software
> # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
> #====================================================================
>
> #====================================================================
> # Modules
> #====================================================================
> use strict;
> use Net::LDAP;
> use Getopt::Std;
> use Time::HiRes qw(gettimeofday);
>
> #====================================================================
> # Configuration
> #====================================================================
> # Command line parameters
> my ($host, $port, $binddn, $bindpw, $timeout, $ldap_version) = &options;
>
> # Name of the Operations branch in monitor
> my $branch = "cn=Operations,cn=Monitor";
>
> #====================================================================
> # options() subroutine
> #====================================================================
> sub options {
> 	# Init Options Hash Table
> 	my %opts;
> 	getopt('hpDWtv',\%opts);
> 	&usage unless exists $opts{"h"};
> 	$opts{"p"} = 389 unless exists $opts{"p"};
> 	$opts{"t"} = 5 unless exists $opts{"t"};
> 	$opts{"v"} = 3 unless exists $opts{"v"};
>
> 	return ($opts{"h"}, $opts{"p"}, $opts{"D"}, $opts{"W"}, $opts{"t"}, $opts{"v"});
> }
>
> #====================================================================
> # usage() subroutine
> #====================================================================
> sub usage {
> 	print STDERR "Usage: $0 -h host [-p port] [-D binddn -W bindpw] [-t timeout] [-v ldap_version]\n";
> 	print STDERR "Default values are :\n";
> 	print STDERR "\tport: 389\n\tbinddn/bindpw: without (anonymous connection)\n\ttimeout: 5\n\tldap_version: 3\n";
> 	exit 1;
> }
>
> #====================================================================
> # Connection to OpenLDAP monitor
> #====================================================================
> # Create LDAP connection
> my $ldap = Net::LDAP->new(	$host, 
> 				port => $port,
> 				version => $ldap_version,
> 				timeout => $timeout) or die "Unable to connect to $host on port $port\n";
>
> # Bind (anonymous or no)
> my $bind_time = gettimeofday();
> my $bind;
>
> if ($binddn && $bindpw) {
> 	$bind = $ldap->bind($binddn, password => $bindpw);
> } else {
> 	$bind = $ldap->bind;
> }
>
> if ($bind->code) {
> 	print "bind:U rootdsesearch:U suffixsearch:U\n";
> 	print STDERR "Bind : ".$bind->error."\n";
> 	exit 1;
> }
> $bind_time = gettimeofday() - $bind_time;
>
> # RootDSE Search
> my $rootdsesearch_time = gettimeofday();
> my $search = $ldap->search( 	base => '',
> 				scope => 'base',
> 				filter => 'objectClass=*',
> 				attrs => ['namingContexts'],
> 				timelimit => "$timeout");
>
> if ($search->code) {
> 	print "bind:$bind_time rootdsesearch:U suffixsearch:U\n";
> 	$ldap->unbind;
> 	print STDERR "Root DSE search : ".$search->error." (code ".$search->code.")\n";
> 	exit 1 ;
> }
> $rootdsesearch_time = gettimeofday() - $rootdsesearch_time,
>
> # Suffix search
> my $suffix = ($search->shift_entry())->get_value('namingContexts');
> my $suffix_time = gettimeofday();
> my $suffix_search = $ldap->search(	base => "$suffix",
> 					scope => 'sub',
> 					filter => 'objectClass=*',
> 					attrs => ['1.1'],
> 					sizelimit => '20',
> 					timelimit => "$timeout");
>
> if ($suffix_search->code && $suffix_search->code != 4) {
> 	print "bind:$bind_time rootdsesearch:$rootdsesearch_time suffixsearch:U\n";
> 	$ldap->unbind;
> 	print STDERR "Suffix search : ".$suffix_search->error." (code ".$suffix_search->code.")\n";
> 	exit 1 ;
> }
> $suffix_time = gettimeofday() - $suffix_time,
>
> # Unbind
> $ldap->unbind;
>
> #====================================================================
> # Print results
> #====================================================================
> print "bind:$bind_time rootdsesearch:$rootdsesearch_time suffixsearch:$suffix_time\n";
>
> #====================================================================
> # Exit
> #====================================================================
> exit 0;
>   
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3245 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://listman.redhat.com/archives/fedora-directory-users/attachments/20070109/91b8a381/attachment.bin>


More information about the Fedora-directory-users mailing list