The PingDirectory server provides a monitor backend,
cn=monitor, with a wealth of information about the current state
of the server.
Some of the available monitor entries include:
- Information about the version of the server and key libraries that it uses
- A list of all client connections currently established to the server
- A list of all active operations currently being processed in the server
- Information about each connection handler that is enabled in the server
- Information about each backend that is enabled in the server
- Information about each database used by local DB backends
- Information about the overall database environment for each local DB backend
- Information about the server’s replication state
- Information about external servers accessed by PingDirectoryProxyProxy server
- Information about load balancing state in PingDirectoryProxy server
- Information about entry balancing state in PingDirectoryProxy server
- Information about the PingDataSync server’s sync engine and pipes
- A timeline of server state changes
- Information about the host system on which the Java Virtual Machine (JVM) is running
- Information about the work queue and worker thread utilization
- Information about JVM memory utilization
- Information about file system disk space utilizationInformation about HTTP servlets configured within the serverInformation about cache utilization
- Information about each certificate that is in use within the server
- Information about the name resolution performance
- Information about server file descriptor usage and availability
- Stack traces for all active threads in the server
- Information about result codes returned by different types of operations
- Information about processing times, both overall and on a per-operation basis, including a histogram of processing times
- Information about supported and enabled TLS protocols and cipher suites
- A summary of various metrics that can be used for determining the availability status of the server
- Detailed information about the JVM and environment in which the server is running
You can also use the UnboundID Server SDK to create custom monitor entries. While this is typically done for the purpose of exposing monitor information about other custom extensions, it could also be used for other purposes, like providing information about external systems or services.
Each monitor entry is a read-only entry that can be searched and retrieved like data in user backends. However, the server does not maintain indexes for arbitrary monitor attributes. For best performance when searching for and retrieving monitor entries, you should do one of the following:
- If you know the DN of the desired monitor entry, issue a search with that DN as the search base DN and a scope of baseObject. In this case, any filter can be used.
- If you do not know the DN of the monitor entry, or if you want to retrieve
multiple entries of a given type, then issue a search with a base DN of
cn=monitor, a whole Subtree scope, and a filter that is based on the specific structural object class for that type of monitor entry (for example,
(objectClass=ds-backend-monitor-entry)if you want to retrieve entries providing general information about each backend enabled in the server). The filter can optionally be ANDed with other components to further narrow down the search results.
Any LDAP client can be used to retrieve these monitor entries, but the UnboundID LDAP SDK for Java provides specific support for many types of monitor entries.