]> git.sur5r.net Git - openldap/blob - servers/slapd/back-monitor/README
Add validation.
[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
95
96
97 LISTENER SUBSYSTEM
98
99 Currently empty, it will presumably contain the description of the
100 devices the server is currently listening on
101
102
103
104 DATABASES SUBSYSTEM
105
106 The main entry contains the naming context of each configured database; 
107 the subentries contain, for each database, the type and the naming
108 context.
109
110
111
112 BACKENDS SUBSYSTEMS
113
114 The main entry contains the type of backends enabled at compile time;
115 the subentries, for each backend, contain the type of the backend.
116 It should also contain the modules that have been loaded if dynamic 
117 backends are enabled.
118
119
120
121 THREADS SUBSYSTEM
122
123 It contains the maximum number of threads enabled at startup and the 
124 current backload.
125
126
127
128 SASL
129
130 Currently empty.
131
132
133
134 TLS
135
136 Currently empty.
137
138
139
140 CONNECTIONS
141
142 The main entry is empty; it should contain some statistics on the number 
143 of connections.
144 Dynamic subentries are created for each open connection, with stats on
145 the activity on that connection (the format will be detailed later).
146
147
148
149 READ WAITERS SUBSYSTEM
150
151 It contains the number of current read waiters.
152
153
154
155 WRITE WAITERS SUBSYSTEM
156
157 It contains the number of current write waiters.
158
159
160
161 LOG SUBSYSTEM
162
163 It contains the currently active log items.  The "Log" subsystem allows 
164 user modify operations on the "description" attribute, whose values MUST 
165 be in the list of admittable log switches:
166
167         Trace
168         Packets
169         Args
170         Conns
171         BER
172         Filter
173         Config          (useless)
174         ACL
175         Stats
176         Stats2
177         Shell
178         Parse
179         Cache           (deprecated)
180         Index
181
182 These values can be added, replaced or deleted; they affect what 
183 messages are sent to the syslog device.
184
185
186
187 NOTES
188
189 This document is in a very early stage of maturity and will 
190 probably be rewritten many times before the monitor backend is released.
191
192
193
194 AUTHOR: Pierangelo Masarati <ando@OpenLDAP.org>
195