The Directory Proxy Server exposes its monitoring information under the cn=monitor entry. Administrators can use various means to monitor the servers, including the PingDataMetrics Server, through SNMP, the Administrative Console, JConsole, LDAP command-line tools, and the Periodic Stats Logger. Use the bin/status tool to display server component activity and state.
The list of all monitor entries can be seen using ldapsearch as follows:
$ bin/ldapsearch --hostname server1.example.com --port 1389 \ --bindDN "uid=admin,dc=example,dc=com" --bindPassword secret \ --baseDN "cn=monitor" "(objectclass=*)" cn
|Active Operations||Provides information about the operations currently being processed by the Directory Proxy Server. Shows the number of operations, information on each operation, and the number of active persistent searches.|
|Backends||Provides general information about the state of an a Directory Proxy Server backend, including the entry count. If the backend is a local database, there is a corresponding database environment monitor entry with information on cache usage and on-disk size.|
|Client Connections||Provides information about all client connections to the Directory Proxy Server. The client connection information contains a name followed by an equal sign and a quoted value (e.g., connID="15", connectTime="20100308223038Z", etc.)|
|Connection Handlers||Provides information about the available connection handlers on the Directory Proxy Server, which includes the LDAP and LDIF connection handlers. These handlers are used to accept client connections and to read requests and send responses to those clients.|
|Disk Space Usage||Provides information about the disk space available to various components of the Directory Proxy Server.|
|General||Provides general information about the state of the Directory Proxy Server, including product name, vendor name, server version, etc.|
|Index||Provides on each index. The monitor captures the number of keys preloaded, and counters for read/write/remove/open-cursor/read-for-search. These counters provide insight into how useful an index is for a given workload.|
|HTTP/HTTPS Connection Handler Statistics||Provides statistics about the interaction that the associated HTTP connection handler has had with its clients, including the number of connections accepted, average requests per connection, average connection duration, total bytes returned, and average processing time by status code.|
|JVM Stack Trace||Provides a stack trace of all threads processing within the JVM.|
|LDAP Connection Handler Statistics||Provides statistics about the interaction that the associated LDAP connection handler has had with its clients, including the number of connections established and closed, bytes read and written, LDAP messages read and written, operations initiated, completed, and abandoned, etc.|
|Processing Time Histogram||Categorizes operation processing times into a number of user-defined buckets of information, including the total number of operations processed, overall average response time (ms), number of processing times between 0ms and 1ms, etc.|
|System Information||Provides general information about the system and the JVM on which the Directory Proxy Server is running, including system host name, operation system, JVM architecture, Java home, Java version, etc.|
|Version||Provides information about the Directory Proxy Server version, including build ID, version, revision number, etc.|
|Work Queue||Provides information about the state of the Directory Proxy Server work queue, which holds requests
until they can be processed by a worker thread, including the requests rejected,
current work queue size, number of worker threads, and number of busy worker threads.
The work queue configuration has a monitor-queue-time property set
to true by default. This logs messages for new operations with a
qtime attribute included in the log messages. Its value is expressed
in milliseconds and represents the length of time that operations are held in the work queue.
A dedicated thread pool can be used for processing administrative operations. This thread pool enables diagnosis and corrective action if all other worker threads are processing operations. To request that operations use the administrative thread pool, using the ldapsearch command for example, use the --useAdministrativeSession option. The requester must have the use-admin-session privilege (included for root users). By default, eight threads are available for this purpose. This can be changed with the num-administrative-session-worker-threads property in the work queue configuration.