]> git.sur5r.net Git - openldap/blob - servers/slapd/back-monitor/README
ITS#8215 Use the correct transaction
[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 in the attribute monitorContext
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", "monitor" and "extensibleObject"
43 objectclasses.
44 "extensibleObject" is used, and the "description" attribute 
45 is used to hold the monitor information of each entry.
46
47
48
49 FUNCTIONALITY
50
51 Most of the sybsystems contain an additional depth level, represented
52 by detailed item monitoring.
53 All the entries undergo an update operation, if a related method is
54 defined, prior to being returned.  Moreover, there's a mechanism to
55 allow volatile entries to be defined, and generated on the fly when
56 requested.  As an instance, the connection statistics are updated
57 at each request, while each active connection data is created on the
58 fly.
59
60 One nice feature of this solution is that granular ACLs can be applied 
61 to each entry.
62
63
64
65 OPERATIONS
66
67 The backend currently supports:
68
69         bind
70         compare
71         modify
72         search
73
74
75
76 SUBSYSTEMS
77
78 Currently some subsystems are partially supported.  "Partially"
79 means their entries are correctly generated, but sometimes only 
80 partially useful information is provided.
81
82 The subsystems are:
83
84         Backends
85         Connections
86         Databases
87         Listener
88         Log
89         Operations
90         Overlays
91         SASL
92         Statistics
93         Threads
94         Time
95         TLS
96         Read/Write Waiters
97
98
99
100 BACKENDS SUBSYSTEMS
101
102 The main entry contains the type of backends enabled at compile time;
103 the subentries, for each backend, contain the type of the backend.
104 It should also contain the modules that have been loaded if dynamic 
105 backends are enabled.
106
107
108
109 CONNECTIONS
110
111 The main entry is empty; it should contain some statistics on the number 
112 of connections.
113 Dynamic subentries are created for each open connection, with stats on
114 the activity on that connection (the format will be detailed later).
115 There are two special subentries that show the number of total and
116 current connections respectively.
117
118
119
120 DATABASES SUBSYSTEM
121
122 The main entry contains the naming context of each configured database; 
123 the subentries contain, for each database, the type and the naming
124 context.
125
126
127
128 LISTENER SUBSYSTEM
129
130 It contains the description of the devices the server is currently 
131 listening on
132
133
134
135 LOG SUBSYSTEM
136
137 It contains the currently active log items.  The "Log" subsystem allows 
138 user modify operations on the "description" attribute, whose values MUST 
139 be in the list of admittable log switches:
140
141         Trace
142         Packets
143         Args
144         Conns
145         BER
146         Filter
147         Config          (useless)
148         ACL
149         Stats
150         Stats2
151         Shell
152         Parse
153         Cache           (deprecated)
154         Index
155
156 These values can be added, replaced or deleted; they affect what 
157 messages are sent to the syslog device.
158
159
160
161 OPERATIONS SUBSYSTEM
162
163 It shows some statistics on the operations performed by the server:
164
165         Initiated
166         Completed
167
168 and for each operation type, i.e.:
169
170         Bind
171         Unbind
172         Add
173         Delete
174         Modrdn
175         Modify
176         Compare
177         Search
178         Abandon
179         Extended
180
181
182
183 OVERLAYS SUBSYSTEM
184
185 The main entry contains the type of overlays available at run-time;
186 the subentries, for each overlay, contain the type of the overlay.
187 It should also contain the modules that have been loaded if dynamic 
188 overlays are enabled.
189
190
191
192 SASL
193
194 Currently empty.
195
196
197
198 STATISTICS SUBSYSTEM
199
200 It shows some statistics on the data sent by the server:
201
202         Bytes
203         PDU
204         Entries
205         Referrals
206
207
208
209 THREADS SUBSYSTEM
210
211 It contains the maximum number of threads enabled at startup and the 
212 current backload.
213
214
215
216 TIME SUBSYSTEM
217
218 It contains two subentries with the start time and the current time 
219 of the server.
220
221
222
223 TLS
224
225 Currently empty.
226
227
228
229 READ/WRITE WAITERS SUBSYSTEM
230
231 It contains the number of current read waiters.
232
233
234
235 NOTES
236
237 This document is in a very early stage of maturity and will 
238 probably be rewritten many times before the monitor backend is released.
239
240
241
242 AUTHOR: Pierangelo Masarati <ando@OpenLDAP.org>
243