]> git.sur5r.net Git - openldap/blob - servers/slapd/back-monitor/README
298c7f3a0aea10871db8f0be5ae337b5ee5c4ba3
[openldap] / servers / slapd / back-monitor / README
1 MONITOR BACKEND
2
3         NAME:   back-monitor
4
5         Backend for monitoring the server's activity.
6
7
8
9 COMPILE AND CONFIGURATION OPTIONS
10
11 It must be explicitly enabled by configuring with 
12
13         --enable-monitor
14
15 set; then it must be activated by placing in slapd.conf the database
16 configure directive
17
18         database        monitor
19
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?)
24
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).
28
29
30
31 NAMING CONTEXT AND TREE STRUCTURE
32
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.
36
37
38
39 SCHEMA
40
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
45 OpenLDAP's OID).
46 At present "extensibleObject" is used, and the "description" attribute 
47 is used to hold the monitor information of each entry.
48
49
50
51 FUNCTIONALITY
52
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
60 fly.
61
62 One nice feature of this solution is that granular ACLs can be applied 
63 to each entry.
64
65
66
67 OPERATIONS
68
69 The backend currently supports:
70
71         bind
72         compare
73         modify
74         search
75
76
77
78 SUBSYSTEMS
79
80 Currently some subsystems are partially supported.  "Partially"
81 means their entries are correctly generated, but sometimes only 
82 partially useful information is provided.
83
84 The subsystems are:
85
86         Listener
87         Databases
88         Backends
89         Threads
90         SASL
91         TLS
92         Connections
93         Read Waiters
94         Write Waiters
95         Log
96
97
98
99 LISTENER SUBSYSTEM
100
101 Currently empty, it will presumably contain the description of the
102 devices the server is currently listening on
103
104
105
106 DATABASES SUBSYSTEM
107
108 The main entry contains the naming context of each configured database; 
109 the subentries contain, for each database, the type and the naming
110 context.
111
112
113
114 BACKENDS SUBSYSTEMS
115
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.
120
121
122
123 THREADS SUBSYSTEM
124
125 It contains the maximum number of threads enabled at startup and the 
126 current backload.
127
128
129
130 SASL
131
132 Currently empty.
133
134
135
136 TLS
137
138 Currently empty.
139
140
141
142 CONNECTIONS
143
144 The main entry is empty; it should contain some statistics on the number 
145 of connections.
146 Dynamic subentries are created for each open connection, with stats on
147 the activity on that connection (the format will be detailed later).
148
149
150
151 READ WAITERS SUBSYSTEM
152
153 It contains the number of current read waiters.
154
155
156
157 WRITE WAITERS SUBSYSTEM
158
159 It contains the number of current write waiters.
160
161
162
163 LOG SUBSYSTEM
164
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:
168
169         Trace
170         Packets
171         Args
172         Conns
173         BER
174         Filter
175         Config          (useless)
176         ACL
177         Stats
178         Stats2
179         Shell
180         Parse
181         Cache           (deprecated)
182         Index
183
184 These values can be added, replaced or deleted; they affect what 
185 messages are sent to the syslog device.
186
187
188
189 NOTES
190
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.
193
194
195
196 AUTHOR: Pierangelo Masarati <ando@OpenLDAP.org>
197