mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-27 03:20:22 +08:00
228 lines
4.2 KiB
Plaintext
228 lines
4.2 KiB
Plaintext
MONITOR BACKEND
|
|
|
|
NAME: back-monitor
|
|
|
|
Backend for monitoring the server's activity.
|
|
|
|
|
|
|
|
COMPILE AND CONFIGURATION OPTIONS
|
|
|
|
It must be explicitly enabled by configuring with
|
|
|
|
--enable-monitor
|
|
|
|
set; then it must be activated by placing in slapd.conf the database
|
|
configure directive
|
|
|
|
database monitor
|
|
|
|
The suffix "cn=Monitor" is implicitly activated (it cannot be given
|
|
as a suffix of the database as usually done for conventional backends).
|
|
Note that the "cn=Monitor" naming context appears in the rootDSE
|
|
(FIXME: do we really want this?)
|
|
|
|
A bind operation is provided; at present it allows to bind as the
|
|
backend rootdn. As a result, the backend supports the rootdn/rootpw
|
|
directives (only simple bind at present).
|
|
|
|
|
|
|
|
NAMING CONTEXT AND TREE STRUCTURE
|
|
|
|
The backend naming context is "cn=Monitor"; the first level entries
|
|
represent the monitored subsystems. It is implemented in a modular way,
|
|
to ease the addition of new subsystems.
|
|
|
|
|
|
|
|
SCHEMA
|
|
|
|
All the subsystems get a default "cn" attribute, represented by the
|
|
subsystem's name, and they all have "top", "monitor" and "extensibleObject"
|
|
objectclasses.
|
|
"extensibleObject" is used, and the "description" attribute
|
|
is used to hold the monitor information of each entry.
|
|
|
|
|
|
|
|
FUNCTIONALITY
|
|
|
|
Most of the sybsystems contain an additional depth level, represented
|
|
by detailed item monitoring.
|
|
All the entries undergo an update operation, if a related method is
|
|
defined, prior to being returned. Moreover, there's a mechanism to
|
|
allow volatile entries to be defined, and generated on the fly when
|
|
requested. As an instance, the connection statistics are updated
|
|
at each request, while each active connection data is created on the
|
|
fly.
|
|
|
|
One nice feature of this solution is that granular ACLs can be applied
|
|
to each entry.
|
|
|
|
|
|
|
|
OPERATIONS
|
|
|
|
The backend currently supports:
|
|
|
|
bind
|
|
compare
|
|
modify
|
|
search
|
|
|
|
|
|
|
|
SUBSYSTEMS
|
|
|
|
Currently some subsystems are partially supported. "Partially"
|
|
means their entries are correctly generated, but sometimes only
|
|
partially useful information is provided.
|
|
|
|
The subsystems are:
|
|
|
|
Listener
|
|
Databases
|
|
Backends
|
|
Threads
|
|
SASL
|
|
TLS
|
|
Connections
|
|
Read Waiters
|
|
Write Waiters
|
|
Log
|
|
Operations
|
|
Statistics
|
|
Time
|
|
|
|
|
|
|
|
LISTENER SUBSYSTEM
|
|
|
|
It contains the description of the devices the server is currently
|
|
listening on
|
|
|
|
|
|
|
|
DATABASES SUBSYSTEM
|
|
|
|
The main entry contains the naming context of each configured database;
|
|
the subentries contain, for each database, the type and the naming
|
|
context.
|
|
|
|
|
|
|
|
BACKENDS SUBSYSTEMS
|
|
|
|
The main entry contains the type of backends enabled at compile time;
|
|
the subentries, for each backend, contain the type of the backend.
|
|
It should also contain the modules that have been loaded if dynamic
|
|
backends are enabled.
|
|
|
|
|
|
|
|
THREADS SUBSYSTEM
|
|
|
|
It contains the maximum number of threads enabled at startup and the
|
|
current backload.
|
|
|
|
|
|
|
|
SASL
|
|
|
|
Currently empty.
|
|
|
|
|
|
|
|
TLS
|
|
|
|
Currently empty.
|
|
|
|
|
|
|
|
CONNECTIONS
|
|
|
|
The main entry is empty; it should contain some statistics on the number
|
|
of connections.
|
|
Dynamic subentries are created for each open connection, with stats on
|
|
the activity on that connection (the format will be detailed later).
|
|
There are two special subentries that show the number of total and
|
|
current connections respectively.
|
|
|
|
|
|
|
|
READ WAITERS SUBSYSTEM
|
|
|
|
It contains the number of current read waiters.
|
|
|
|
|
|
|
|
WRITE WAITERS SUBSYSTEM
|
|
|
|
It contains the number of current write waiters.
|
|
|
|
|
|
|
|
LOG SUBSYSTEM
|
|
|
|
It contains the currently active log items. The "Log" subsystem allows
|
|
user modify operations on the "description" attribute, whose values MUST
|
|
be in the list of admittable log switches:
|
|
|
|
Trace
|
|
Packets
|
|
Args
|
|
Conns
|
|
BER
|
|
Filter
|
|
Config (useless)
|
|
ACL
|
|
Stats
|
|
Stats2
|
|
Shell
|
|
Parse
|
|
Cache (deprecated)
|
|
Index
|
|
|
|
These values can be added, replaced or deleted; they affect what
|
|
messages are sent to the syslog device.
|
|
|
|
|
|
|
|
OPERATIONS SUBSYSTEM
|
|
|
|
It shows some statistics on the operations performed by the server:
|
|
|
|
Initiated
|
|
Completed
|
|
|
|
|
|
|
|
SENT SUBSYSTEM
|
|
|
|
It shows some statistics on the data sent by the server:
|
|
|
|
Bytes
|
|
PDU
|
|
Referrals
|
|
Entries
|
|
|
|
|
|
|
|
TIME SUBSYSTEM
|
|
|
|
It contains two subentries with the start time and the current time
|
|
of the server.
|
|
|
|
|
|
|
|
NOTES
|
|
|
|
This document is in a very early stage of maturity and will
|
|
probably be rewritten many times before the monitor backend is released.
|
|
|
|
|
|
|
|
AUTHOR: Pierangelo Masarati <ando@OpenLDAP.org>
|
|
|