]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-monitor/README
fix NOOP return code (ITS#4563; I'll check and confirm it later; NOOP support might...
[openldap] / servers / slapd / back-monitor / README
index 7a574a1d5a9c6280bbb1cabdebb806e715fd25c4..21d7b868f2ef28d57aaa297815d6aeaaf9298248 100644 (file)
@@ -1,22 +1,53 @@
-back-monitor
+MONITOR BACKEND
 
-Backend for monitoring the server's activity.  It must be explicitly
-enabled by configuring with `--enable-monitor' set; then it must be
-activated by placing in slapd.conf the configure directive
+       NAME:   back-monitor
 
-database       monitor
+       Backend for monitoring the server's activity.
+
+
+
+COMPILE AND CONFIGURATION OPTIONS
+
+It must be explicitly enabled by configuring with 
+
+       --enable-monitor
+
+set; then it must be activated by placing in slapd.conf the database
+configure directive
+
+       database        monitor
 
 The suffix "cn=Monitor" is implicitly activated (it cannot be given
 as a suffix of the database as usually done for conventional backends).
+Note that the "cn=Monitor" naming context appears in the rootDSE
+in the attribute monitorContext
+
+A bind operation is provided; at present it allows to bind as the
+backend rootdn.  As a result, the backend supports the rootdn/rootpw 
+directives (only simple bind at present).
+
 
-The backend root is "cn=Monitor"; the first level entries represent
-the monitored subsystems.  It is being implemented in a modular way,
+
+NAMING CONTEXT AND TREE STRUCTURE
+
+The backend naming context is "cn=Monitor"; the first level entries 
+represent the monitored subsystems.  It is implemented in a modular way,
 to ease the addition of new subsystems.
+
+
+
+SCHEMA
+
 All the subsystems get a default "cn" attribute, represented by the
-subsystem's name, and they all have "top", "LDAPsubEntry" and
-"monitorSubEntry" objectclasses (the latter has not been defined yet,
-pending the design of the monitor schema and its registration under
-OpenLDAP's OID).
+subsystem's name, and they all have "top", "monitor" and "extensibleObject"
+objectclasses.
+"extensibleObject" is used, and the "description" attribute 
+is used to hold the monitor information of each entry.
+
+
+
+FUNCTIONALITY
+
 Most of the sybsystems contain an additional depth level, represented
 by detailed item monitoring.
 All the entries undergo an update operation, if a related method is
@@ -26,8 +57,187 @@ requested.  As an instance, the connection statistics are updated
 at each request, while each active connection data is created on the
 fly.
 
-This document is in a very early stage of maturity and will probably 
-be rewritten many times before the monitor backend is released.
+One nice feature of this solution is that granular ACLs can be applied 
+to each entry.
+
+
+
+OPERATIONS
+
+The backend currently supports:
+
+       bind
+       compare
+       modify
+       search
+
+
+
+SUBSYSTEMS
+
+Currently some subsystems are partially supported.  "Partially"
+means their entries are correctly generated, but sometimes only 
+partially useful information is provided.
+
+The subsystems are:
+
+       Backends
+       Connections
+       Databases
+       Listener
+       Log
+       Operations
+       Overlays
+       SASL
+       Statistics
+       Threads
+       Time
+       TLS
+       Read/Write Waiters
+
+
+
+BACKENDS SUBSYSTEMS
+
+The main entry contains the type of backends enabled at compile time;
+the subentries, for each backend, contain the type of the backend.
+It should also contain the modules that have been loaded if dynamic 
+backends are enabled.
+
+
+
+CONNECTIONS
+
+The main entry is empty; it should contain some statistics on the number 
+of connections.
+Dynamic subentries are created for each open connection, with stats on
+the activity on that connection (the format will be detailed later).
+There are two special subentries that show the number of total and
+current connections respectively.
+
+
+
+DATABASES SUBSYSTEM
+
+The main entry contains the naming context of each configured database; 
+the subentries contain, for each database, the type and the naming
+context.
+
+
+
+LISTENER SUBSYSTEM
+
+It contains the description of the devices the server is currently 
+listening on
+
+
+
+LOG SUBSYSTEM
+
+It contains the currently active log items.  The "Log" subsystem allows 
+user modify operations on the "description" attribute, whose values MUST 
+be in the list of admittable log switches:
+
+       Trace
+       Packets
+       Args
+       Conns
+       BER
+       Filter
+       Config          (useless)
+       ACL
+       Stats
+       Stats2
+       Shell
+       Parse
+       Cache           (deprecated)
+       Index
+
+These values can be added, replaced or deleted; they affect what 
+messages are sent to the syslog device.
+
+
+
+OPERATIONS SUBSYSTEM
+
+It shows some statistics on the operations performed by the server:
+
+       Initiated
+       Completed
+
+and for each operation type, i.e.:
+
+       Bind
+        Unbind
+        Add
+        Delete
+        Modrdn
+        Modify
+        Compare
+        Search
+        Abandon
+        Extended
+
+
+
+OVERLAYS SUBSYSTEM
+
+The main entry contains the type of overlays available at run-time;
+the subentries, for each overlay, contain the type of the overlay.
+It should also contain the modules that have been loaded if dynamic 
+overlays are enabled.
+
+
+
+SASL
+
+Currently empty.
+
+
+
+STATISTICS SUBSYSTEM
+
+It shows some statistics on the data sent by the server:
+
+       Bytes
+       PDU
+       Entries
+       Referrals
+
+
+
+THREADS SUBSYSTEM
+
+It contains the maximum number of threads enabled at startup and the 
+current backload.
+
+
+
+TIME SUBSYSTEM
+
+It contains two subentries with the start time and the current time 
+of the server.
+
+
+
+TLS
+
+Currently empty.
+
+
+
+READ/WRITE WAITERS SUBSYSTEM
+
+It contains the number of current read waiters.
+
+
+
+NOTES
+
+This document is in a very early stage of maturity and will 
+probably be rewritten many times before the monitor backend is released.
+
+
 
-Author:        Pierangelo Masarati <ando@OpenLDAP.org>
+AUTHOR:        Pierangelo Masarati <ando@OpenLDAP.org>