BigSister LDAP and LDAPS monitor
--------------------------------

This monitor uses the BigSister New Agent infrastructure and as such needs a 
DESCR entry in uxmon-net for the LDAP server you want to monitor. For more 
information check the NEWAGENT file that comes with your BigSister package.

Prerequisites
-------------

Net::LDAP and its dependencies
IO::Socket::SSL if you want to query LDAPS servers

Parameters
----------

url     : string    Service URL
timeout : integer   Timeout in seconds (default: 30)
version : integer   LDAP version (default: 3)
dn      : string    authentication dn (if not set, an anonymous bind is used)
password: string    password
base    : string    LDAP base
filter  : string    query filter

Use
---

The LDAP monitor can check the availability and performance of LDAP and LDAPS
servers. The protocol part of the url parameter selects the use of the LDAP or
LDAP protocol.

If your ldap server listens to an non standard port, just specify it in the url
like : ldaps://server.domain:port/

The status reported depends on the values of the parameters. If a dn is
specified the monitor will try an authenticated bind otherwise an anonymous bind
is used. If the bind failes, a failure notice (red) is raized. If the bind
succedes and no query is specified an OK state (green) is reported.
If a query is specified, the query will be executed. If the query fails a 
warning notice (yellow) is raized, otherwise an OK state (green) is reported.

The monitor measures the response time for the query if one is specified, and
uses the standard BigSister mechanism to store the performance values in a RRD.

It is possible to use multiple instances of this monitor for the same host, if
one wants to run multiple queries for instance.

The default item for this test is "ldap", but this can be overridden with the
standard item parameter.

Examples
--------

DESCR features=unix,linux 10.46.144.222

10.46.144.222(ldap) url=ldap://ldap.here.org/ ldap
# check the availability of the ldap server, anonymous bind

10.46.144.222(ldap) dn="ID=000123,ou=People,dc=here,dc=be" password=secret url=ldap://ldap.here.org/ ldap
# check the availability of the ldap server, authenticated bind

10.46.144.222(ldap) base="dc=here,dc=be" filter=(title=BOFH) url=ldap://ldap.here.org/ ldap
# check the availability of the ldap server and execute query, anonymous bind

10.46.144.222(ldap) url=ldaps://ldap.here.org/ ldap
# check the availability of the ldap server, anonymous bind

10.46.144.222(ldap) item=ldaps url=ldaps://ldap.here.org/ ldap
# check the availability of the ldap server and report it as ldaps, anonymous bind
