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 subsystems 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 (a] OpenLDAP.org>
243
244