]> git.sur5r.net Git - openldap/blob - servers/slapd/back-monitor/README
Suck in HEAD changes since 2.1alpha
[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", "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         Listener
85         Databases
86         Backends
87         Threads
88         SASL
89         TLS
90         Connections
91         Read Waiters
92         Write Waiters
93         Log
94         Operations
95         Statistics
96         Time
97
98
99
100 LISTENER SUBSYSTEM
101
102 It contains the description of the devices the server is currently 
103 listening on
104
105
106
107 DATABASES SUBSYSTEM
108
109 The main entry contains the naming context of each configured database; 
110 the subentries contain, for each database, the type and the naming
111 context.
112
113
114
115 BACKENDS SUBSYSTEMS
116
117 The main entry contains the type of backends enabled at compile time;
118 the subentries, for each backend, contain the type of the backend.
119 It should also contain the modules that have been loaded if dynamic 
120 backends are enabled.
121
122
123
124 THREADS SUBSYSTEM
125
126 It contains the maximum number of threads enabled at startup and the 
127 current backload.
128
129
130
131 SASL
132
133 Currently empty.
134
135
136
137 TLS
138
139 Currently empty.
140
141
142
143 CONNECTIONS
144
145 The main entry is empty; it should contain some statistics on the number 
146 of connections.
147 Dynamic subentries are created for each open connection, with stats on
148 the activity on that connection (the format will be detailed later).
149 There are two special subentries that show the number of total and
150 current connections respectively.
151
152
153
154 READ WAITERS SUBSYSTEM
155
156 It contains the number of current read waiters.
157
158
159
160 WRITE WAITERS SUBSYSTEM
161
162 It contains the number of current write waiters.
163
164
165
166 LOG SUBSYSTEM
167
168 It contains the currently active log items.  The "Log" subsystem allows 
169 user modify operations on the "description" attribute, whose values MUST 
170 be in the list of admittable log switches:
171
172         Trace
173         Packets
174         Args
175         Conns
176         BER
177         Filter
178         Config          (useless)
179         ACL
180         Stats
181         Stats2
182         Shell
183         Parse
184         Cache           (deprecated)
185         Index
186
187 These values can be added, replaced or deleted; they affect what 
188 messages are sent to the syslog device.
189
190
191
192 OPERATIONS SUBSYSTEM
193
194 It shows some statistics on the operations performed by the server:
195
196         Initiated
197         Completed
198
199
200
201 SENT SUBSYSTEM
202
203 It shows some statistics on the data sent by the server:
204
205         Bytes
206         PDU
207         Referrals
208         Entries
209
210
211
212 TIME SUBSISTEM
213
214 It contains two subentries with the start time and the current time 
215 of the server.
216
217
218
219 NOTES
220
221 This document is in a very early stage of maturity and will 
222 probably be rewritten many times before the monitor backend is released.
223
224
225
226 AUTHOR: Pierangelo Masarati <ando@OpenLDAP.org>
227