[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