RE: FDS, SNMP & Cacti...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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

#####

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

-- 



This email (including any attachments) may contain confidential and/or privileged information or information otherwise protected from disclosure.
If you are not the intended recipient, please notify the sender immediately, do not copy this message or any attachments and do not use it for any purpose or disclose its content to any person, but delete this message and any attachments from your system.
Astrium disclaims any and all liability if this email transmission was virus corrupted, altered or falsified.
---------------------------------------------------------------------
Astrium Limited, Registered in England and Wales No. 2449259
Registered Office: Gunnels Wood Road, Stevenage, Hertfordshire, SG1 2AS, England
#! /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;

Attachment: README
Description: Binary data

Attachment: cacti_host_template_fedora_directory_server.xml
Description: Binary data

--
Fedora-directory-users mailing list
Fedora-directory-users@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-directory-users

[Index of Archives]     [Fedora Directory Users]     [Fedora Directory Devel]     [Fedora Announce]     [Fedora Legacy Announce]     [Kernel]     [Fedora Legacy]     [Share Photos]     [Fedora Desktop]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Big List of Linux Books]     [Gimp]     [Yosemite News]

  Powered by Linux