5 Backend for monitoring the server's activity.
9 COMPILE AND CONFIGURATION OPTIONS
11 It must be explicitly enabled by configuring with
15 set; then it must be activated by placing in slapd.conf the database
20 The suffix "cn=Monitor" is implicitly activated (it cannot be given
21 as a suffix of the database as usually done for conventional backends).
22 Note that the "cn=Monitor" naming context appears in the rootDSE
23 (FIXME: do we really want this?)
25 A bind operation is provided; at present it allows to bind as the
26 backend rootdn. As a result, the backend supports the rootdn/rootpw
27 directives (only simple bind at present).
31 NAMING CONTEXT AND TREE STRUCTURE
33 The backend naming context is "cn=Monitor"; the first level entries
34 represent the monitored subsystems. It is implemented in a modular way,
35 to ease the addition of new subsystems.
41 All the subsystems get a default "cn" attribute, represented by the
42 subsystem's name, and they all have "top", "LDAPsubEntry" and
43 "monitorSubEntry" objectclasses (the latter has not been defined yet,
44 pending the design of the monitor schema and its registration under
46 At present "extensibleObject" is used, and the "description" attribute
47 is used to hold the monitor information of each entry.
53 Most of the sybsystems contain an additional depth level, represented
54 by detailed item monitoring.
55 All the entries undergo an update operation, if a related method is
56 defined, prior to being returned. Moreover, there's a mechanism to
57 allow volatile entries to be defined, and generated on the fly when
58 requested. As an instance, the connection statistics are updated
59 at each request, while each active connection data is created on the
62 One nice feature of this solution is that granular ACLs can be applied
69 The backend currently supports:
80 Currently some subsystems are partially supported. "Partially"
81 means their entries are correctly generated, but sometimes only
82 partially useful information is provided.
101 Currently empty, it will presumably contain the description of the
102 devices the server is currently listening on
108 The main entry contains the naming context of each configured database;
109 the subentries contain, for each database, the type and the naming
116 The main entry contains the type of backends enabled at compile time;
117 the subentries, for each backend, contain the type of the backend.
118 It should also contain the modules that have been loaded if dynamic
119 backends are enabled.
125 It contains the maximum number of threads enabled at startup and the
144 The main entry is empty; it should contain some statistics on the number
146 Dynamic subentries are created for each open connection, with stats on
147 the activity on that connection (the format will be detailed later).
151 READ WAITERS SUBSYSTEM
153 It contains the number of current read waiters.
157 WRITE WAITERS SUBSYSTEM
159 It contains the number of current write waiters.
165 It contains the currently active log items. The "Log" subsystem allows
166 user modify operations on the "description" attribute, whose values MUST
167 be in the list of admittable log switches:
184 These values can be added, replaced or deleted; they affect what
185 messages are sent to the syslog device.
191 This document is in a very early stage of maturity and will
192 probably be rewritten many times before the monitor backend is released.
196 AUTHOR: Pierangelo Masarati <ando@OpenLDAP.org>