eDirectory provides an LDAP search method for monitoring the current state of an eDirectory server. eDirectory records useful performance metrics and server state information for eDirectory subsystems and background processes such as Threadpool, Connection Table, DClient, DS Agent, Background Processes, and LDAP Server as an entry with the base DN of cn=monitor. You can obtain the statistics from the server by issuing a search request with a search base of cn=monitor and use this information for monitoring your eDirectory environment.
IMPORTANT:cn=monitor is a virtual object and does not actually reside in the eDirectory tree. You can use this method for monitoring eDirectory through LDAP interfaces.
eDirectory subsystems are registered as data producers within the monitoring framework. Table 8-1 lists the registered data producers in eDirectory. The framework gathers real time data from all the registered data producers and shares it with the requestor of the data, who are the consumers of this data. The monitoring framework dynamically generates and returns objects in response to search requests in the cn=monitor subtree. Each object contains information about a particular aspect of the server. Some objects serve as containers for other objects and are used to construct a hierarchy of objects, where cn=monitor is the most superior object. You can use LDAP clients to access information provided by the monitoring framework, subject to access and other controls, such as LDAP server specific information or connection-specific information. eDirectory restricts this search request only to users with write rights to the NDSRightsToMonitor attribute on the NCP server object.
You can access data from all the registered data producers with ldapsearch or with any general-purpose LDAP browser.
To view the monitoring data from all the registered data producers, use the ldapsearch command:
ldapsearch -h <SrvIP> -p <port> -D <user dn> -w <password> -s sub -b cn=monitor
NOTE:eDirectory does not support data filtering on cn=monitor search. For some background processes that are scheduled to run recursively, eDirectory displays these processes multiple times as scheduled in the cn=monitor search response. For example, SkulkerWorkerProc.
ldapsearch returns data from all the registered data producers in LDAP format using cn=monitor as a base. The LDAP server also acts as a data consumer in the LDAP object format.
Table 8-1 lists the data producers and the corresponding parameters containing the monitoring statistics. There could be additional data producers when other products are configured with eDirectory.
Table 8-1 Data Producers and Monitoring Statistics Parameters
Data Producers |
Monitoring Statistics Parameters |
---|---|
Agent |
|
DHOST |
The following DHOST processes and connection information is monitored:
|
DClient |
|
LDAP |
|
Record Manager |
|
When you issue a search request with a search base of cn=monitor, the monitoring framework dynamically generates and returns objects in response to the search request in the cn=monitor subtree as listed in Table 8-2.
Table 8-2 Objects Monitored by cn=monitor Search
Object Name |
Description |
---|---|
cn=Monitor |
Root level object for monitoring data. |
cn=Agent,cn=Monitor |
Provides information about Directory Service agent. |
cn=BackGroundProcInterval,cn=Agent,cn=Monitor |
Provides information about background process. (is this any specific process or in general all b/g processes) |
cn=ARC resolve timer thread,cn=BackGroundProcInterval,cn=Agent,cn=Monitor |
Provides information about advanced referral costing background process. |
cn=BacklinkProc,cn=BackGroundProcInterval,cn=Agent,cn=Monitor |
Provides information about backlinker background process. |
cn=CPU Usage monitor,cn=BackGroundProcInterval,cn=Agent,cn=Monitor |
Provides information about CPU usage background process. |
cn=CheckBacklinks,cn=BackGroundProcInterval,cn=Agent,cn=Monitor |
Provides information about checking the backlinker background process. |
cn=CheckExtRefProc,cn=BackGroundProcInterval,cn=Agent,cn=Monitor |
Provides information about checking external reference background process. |
cn=ExtRefRefreshProc,cn=BackGroundProcInterval,cn=Agent,cn=Monitor |
Provides information about refresh external references background process. |
cn=Janitor,cn=BackGroundProcInterval,cn=Agent,cn=Monitor |
Provides information about Janitor background process. |
cn=RunLimberUp,cn=BackGroundProcInterval,cn=Agent,cn=Monitor |
Provides information about schedule limber background process. |
cn=Limber,cn=BackGroundProcInterval,cn=Agent,cn=Monitor |
Provides information about Limber (connectivity check) background process. |
cn=HiConvergenceHeartBeat,cn=BackGroundProcInterval,cn=Agent,cn=Monitor |
Provides information about schedule skulker background process. |
cn=ObitProc,cn=BackGroundProcInterval,cn=Agent,cn=Monitor |
Provides information about Obituary background process. |
cn=PartitionPurgeProcess,cn=BackGroundProcInterval,cn=Agent,cn=Monitor |
Provides information about partition purger background process. |
cn=Predicate Statistics Update,cn=BackGroundProcInterval,cn=Agent,cn=Monitor |
Provides information about predicate statistics update background process. |
cn=RNRAdvertise,cn=BackGroundProcInterval,cn=Agent,cn=Monitor |
Provides information about advertise service address background process. |
cn=RefreshBinderyContext,cn=BackGroundProcInterval,cn=Agent,cn=Monitor |
Provides information about refresh bindery background process. |
cn=Repair Inactive Replicas,cn=BackGroundProcInterval,cn=Agent,cn=Monitor |
Provides information about repair inactive replicas background process. |
cn=SchemaProc,cn=BackGroundProcInterval,cn=Agent,cn=Monitor |
Provides information about schema sync background process. |
cn=SkulkerProc,cn=BackGroundProcInterval,cn=Agent,cn=Monitor |
Provides information about synchronization background process. |
cn=SkulkerWorkerProc,cn=BackGroundProcInterval,cn=Agent,cn=Monitor |
Provides information about synchronization background process. |
cn=Partition,cn=Agent,cn=Monitor |
Provides information about all user partitions on the server. Multiple values of the same attribute denote multiple partitions. |
cn=Status,cn=Agent,cn=Monitor |
Provides information about server status. |
cn=DHOST,cn=Monitor |
Provides information about DHOST subsystems. |
cn=InBoundConnection,cn=DHOST,cn=Monitor |
Provides information about inbound connection table information. |
cn=ThreadPool,cn=DHOST,cn=Monitor |
Provides information about DHOST Threadpool statistics. |
cn=Dclient,cn=Monitor |
Provides information about server-side DClient. |
cn=OutBoundConnection,cn=Dclient,cn=Monitor |
Provides information about outbound connection table information. |
cn=OutBoundContext,cn=Dclient,cn=Monitor |
Provides information about outbound context table information. |
cn=LDAP,cn=Monitor |
Provides information on LDAP server. |
cn=LDAPStatistics,cn=LDAP,cn=Monitor |
Provides information about LDAP server statistics. |
cn=Bindings,cn=LDAPStatistics,cn=LDAP,cn=Monitor |
Provides information about binding statistics on LDAP server. |
cn=IncomingOperations,cn=LDAPStatistics,cn=LDAP,cn=Monitor |
Provides information about incoming operation statistics on LDAP server. |
cn=OutgoingOperations,cn=LDAPStatistics,cn=LDAP,cn=Monitor |
Provides information about outgoing operations statistics on LDAP server. |
cn=TrafficVolume,cn=LDAPStatistics,cn=LDAP,cn=Monitor |
Provides information about LDAP server traffic volume statistics. |
cn=RecordManager,cn=Monitor |
Provides information about FLAIM database. |
cn=Size,cn=RecordManager,cn=Monitor |
Provides information about size information of the FLAIM database. |
cn=CheckPointThreadData,cn=RecordManager,cn=Monitor |
Provides information about check point thread. |
cn=CacheStatistics,cn=RecordManager,cn=Monitor |
Provides information about FLAIM database cache statistics. |
cn=CacheFaultLooks,cn=CacheStatistics,cn=RecordManager,cn=Monitor |
Provides cache fault looks information. |
cn=CacheFaults,cn=CacheStatistics,cn=RecordManager,cn=Monitor |
Provides cache fault information. |
cn=HitLooks,cn=CacheStatistics,cn=RecordManager,cn=Monitor |
Provides cache hit looks information. |
cn=Hits,cn=CacheStatistics,cn=RecordManager,cn=Monitor |
Provides cache hits information. |
cn=ItemsCached,cn=CacheStatistics,cn=RecordManager,cn=Monitor |
Provides number of items cached information. |
cn=OldVersionCachedCount,cn=CacheStatistics,cn=RecordManager,cn=Monitor |
Provides old version cached item count information. |
cn=MaximumSize,cn=CacheStatistics,cn=RecordManager,cn=Monitor |
Provides maximum cache size information. |
cn=CurrentSize,cn=CacheStatistics,cn=RecordManager,cn=Monitor |
Provides current cache size information. |
cn=OldVersionCachedSize,cn=CacheStatistics,cn=RecordManager,cn=Monitor |
Provides old version cached size information. |
Each object contains information about a particular aspect of the server, such as a connection or a thread. Table 8-3 lists the attributes that hold the monitoring statistics.
Table 8-3 Attributes Monitoring Statistics
Attribute |
Description |
---|---|
BackgroundProcScheduled |
Next scheduled time for the background process. Multiple values denote that the background process is scheduled multiple times. |
BackgroundProcStartTime |
Next start time for the background process. Multiple values denote that the background process is running multiple times. |
PerishableData |
The amount of data not synced out to any other server (denoted in seconds). |
OBIT_NEWRDN_PURGEABLE |
Number of NEWRDN obituaries in purgeable state. |
OBIT_NEWRDN_OK_TO_PURGE |
Number of NEWRDN obituaries in ok to purge state. |
OBIT_NEWRDN_NOTIFIED |
Number of NEWRDN obituaries in notified state. |
OBIT_NEWRDN_ISSUED |
Number of NEWRDN obituaries in issued state. |
OBIT_MOVED_PURGEABLE |
Number of moved obituaries in purgeable state. |
OBIT_MOVED_OK_TO_PURGE |
Number of moved obituaries in ok to purge state. |
OBIT_MOVED_NOTIFIED |
Number of moved obituaries in notified state. |
OBIT_MOVED_ISSUED |
Number of moved obituaries in issued state. |
OBIT_DEAD_PURGEABLE |
Number of dead obituaries in purgeable state. |
OBIT_DEAD_OK_TO_PURGE |
Number of dead obituaries in ok to purge state. |
OBIT_DEAD_NOTIFIED |
Number of dead obituaries in notified state. |
OBIT_DEAD_ISSUED |
Number of dead obituaries in issued state. |
OBIT_COUNT_FROM_DATABASE_INDEX |
Total obituary count. |
MaxRingDelta |
Maximum amount of data not synchronized between any two servers in the replica ring (denoted in seconds). |
ChangeCacheCount |
Current change cache count on the partition. |
eDirectoryUpTime |
Number of seconds since server has been running. |
eDirectorySystemCurrTime |
Current system time of the server. |
eDirectoryAgentVersion |
Current Directory Server agent version. |
MaxInBoundConnection |
Maximum inbound connection. |
InBoundConnectionCount |
Current inbound connection count. |
ThreadsWorkers |
Number of worker threads in Threadpool. |
ThreadsSpawned |
Number of threads spawned. |
ThreadsIdle |
Number of threads idle. |
ThreadsDied |
Number of threads died. |
ThreadWaitingQueuePeakItems |
Maximum number of threads in the waiting queue. |
ThreadWaitingQueueItems |
Current number of threads in the waiting queue. |
ThreadPoolReadyQueueMaxWaitTime |
Maximum wait time for thread in ReadyQueue. |
ThreadPoolReadyQueueItems |
Current number of threads in ReadyQueue. |
ThreadPeakWorkers |
Maximum number of pool workers. |
ThreadMinWaitTime |
Minimum thread wait time before getting scheduled. |
ThreadMaxWaitTime |
Maximum thread wait time before getting scheduled. |
TotalOpenOutBoundConnection |
Current open outbound connection count. |
RefusedOutBoundConnection |
Refused outbound connection count. |
MaxOutBoundConnection |
Maximum outbound connection count. |
TotalOutBoundContextCount |
Maximum outbound context count. |
ActiveOutBoundContextCount |
Current outbound context count. |
unAuthBinds |
Number of unauthenticated/anonymous bind requests received. |
strongAuthBinds |
Number of bind requests that were authenticated using SASL and X.500 strong authentication procedures. This includes the binds that were authenticated using external authentication procedures. |
simpleAuthBinds |
Number of bind requests that were authenticated using simple authentication procedures where the password is sent over the wire in encrypted or clear text format. |
bindSecurityErrors |
Number of bind requests that have been rejected due to inappropriate authentication or invalid credentials. |
wholeSubtreeSearchOps |
Number of whole subtree search requests received. |
searchOps |
Number of search requests (baseObject searches, oneLevel searches, and whole subtree searches) received. |
removeEntryOps |
Number of removeEntry requests received. |
readOps |
Number of read requests received. |
oneLevelSearchOps |
Number of oneLevel search requests received. |
modifyRDNOps |
Number of modifyRDN requests received. |
modifyEntryOps |
Number of modifyEntry requests received. |
listOps |
Number of list requests received. |
inOps |
Number of requests received from client. |
extendedOps |
Number of extended operations. |
compareOps |
Number of compare requests received. |
addEntryOps |
Number of addEntry requests received. |
abandonOps |
Number of LDAP abandoned requests. |
referrals |
Number of referrals returned in response to requests for operations. |
chainings |
Number of operations forwarded by this eDirectory server to other eDirectory servers. |
outBytes |
Outgoing traffic, in bytes, on the interface. This includes responses to client and eDirectory servers as well as requests to other eDirectory servers. |
inBytes |
Incoming traffic, in bytes, on the interface. This includes requests from client as well as responses from other eDirectory servers. |
Total |
Total item count in FLAIM cache. |
EntryCache |
Total item count in entry cache. |
BlockCache |
Total item count in block cache. |
TotalSize |
Total item size in FLAIM cache. |
EntryCacheSize |
Total item size in entry cache. |
BlockCacheSize |
Total item size in block cache. |
CheckPointThreadWritingDataBlocks |
0 denotes that checkpoint is not writing dirty blocks. 1 denotes that the checkpoint is writing dirty blocks. |
CheckPointThreadStartTime |
Checkpoint thread start time. Look at this value only if checkpoint thread is running. |
CheckPointThreadLogBlocksWritten |
Number of log blocks written. |
CheckPointThreadIsRunning |
0 denotes that the checkpoint is not running. 1 denotes that checkpoint thread is running. |
CheckPointThreadIsForced |
Denotes whether checkpoint was forced. |
CheckPointThreadForceStartTime |
Checkpoint forced start time. Look at this value only if checkpoint is forced started. |
CheckPointThreadDirtyCacheBlocks |
Number of dirty cache blocks. |
CheckPointThreadDataBlocksWritten |
Number of dirty blocks written. |
CheckPointThreadBlockSize |
Current block size. |
TotalDIBSize |
Total FLAIM database size. |
DIBStreamFileSize |
Total stream files size. |
DIBRollBackFileSize |
Total roll back files size. |
DIBRflmFileSize |
Total roll forward log files size. |
DIBFileSize |
Total DIB files size. |
A sample LDAP search output is below.
# LDAPv3 # base <cn=monitor> with scope subtree # filter: (objectclass=*) # requesting: ALL # BackGroundProcInterval, Agent, Monitor dn: cn=BackGroundProcInterval,cn=Agent,cn=Monitor slowSyncInterval: 1800 fastSyncInterval: 5 ServerStateUpThreshold: 1800 JanitorInterval: 120 HeartBeatSkulkInterval: 3600 FlatCleaningInterval: 43200 DRLInterval: 60 BacklinkInterval: 46800 objectclass: Top objectclass: extensibleObject # .GOOD-ONE., Partition, Agent, Monitor dn: cn=.GOOD-ONE.,cn=Partition,cn=Agent,cn=Monitor ChangeCacheCount: 0 objectclass: Top objectclass: extensibleObject # InBoundConnection, DHOST, Monitor dn: cn=InBoundConnection,cn=DHOST,cn=Monitor MaxInBoundConnection: 256 InBoundConnectionCount: 20 objectclass: Top objectclass: extensibleObject # ThreadPool, DHOST, Monitor dn: cn=ThreadPool,cn=DHOST,cn=Monitor ThreadsWorkers: 37 Monitoring ThreadsSpawned: 3572 ThreadsIdle: 7 ThreadsDied: 3535 ThreadWaitingQueuePeakItems: 24 ThreadWaitingQueueItems: 20 ThreadPoolReadyQueueMaxWaitTime: 574529 ThreadPoolReadyQueueItems: 0 ThreadPeakWorkers: 90 ThreadMinWaitTime: 2 ThreadMaxWaitTime: 16394616 objectclass: Top objectclass: extensibleObject # OutBoundConnection, Dclient, Monitor dn: cn=OutBoundConnection,cn=Dclient,cn=Monitor TotalOpenOutBoundConnection: 17 RefusedOutBoundConnection: 0 MaxOutBoundConnection: 4294967295 objectclass: Top objectclass: extensibleObject # OutBoundContext, Dclient, Monitor dn: cn=OutBoundContext,cn=Dclient,cn=Monitor TotalOutBoundContextCount: 256 objectclass: Top objectclass: extensibleObject # Bindings, LDAPStatistics, LDAP, Monitor dn: cn=Bindings,cn=LDAPStatistics,cn=LDAP,cn=Monitor unAuthBinds: 6908 strongAuthBinds: 0 simpleAuthBinds: 4433475 bindSecurityErrors: 0 objectclass: Top objectclass: extensibleObject # IncomingOperations, LDAPStatistics, LDAP, Monitor dn: cn=IncomingOperations,cn=LDAPStatistics,cn=LDAP,cn=Monitor wholeSubtreeSearchOps: 4426462 searchOps: 4426462 removeEntryOps: 0 readOps: 0 oneLevelSearchOps: 0 modifyRDNOps: 0 modifyEntryOps: 4 listOps: 0 inOps: 8901739 extendedOps: 0 compareOps: 0 addEntryOps: 5 abandonOps: 0 objectclass: Top objectclass: extensibleObject # OutgoingOperations, LDAPStatistics, LDAP, Monitor dn: cn=OutgoingOperations,cn=LDAPStatistics,cn=LDAP,cn=Monitor referrals: 0 chainings: 0 objectclass: Top objectclass: extensibleObject # TrafficVolume, LDAPStatistics, LDAP, Monitor dn: cn=TrafficVolume,cn=LDAPStatistics,cn=LDAP,cn=Monitor outBytes: 326809576 inBytes: 380249498 objectclass: Top objectclass: extensibleObject Monitoring # CacheFaultLooks, RecordManager, Monitor dn: cn=CacheFaultLooks,cn=RecordManager,cn=Monitor TotalSize: 2699 EntryCacheSize: 2539 BlockCacheSize: 160 objectclass: Top objectclass: extensibleObject # CacheFaults, RecordManager, Monitor dn: cn=CacheFaults,cn=RecordManager,cn=Monitor TotalSize: 1948 EntryCacheSize: 1788 BlockCacheSize: 160 objectclass: Top objectclass: extensibleObject # CurrentSize, RecordManager, Monitor dn: cn=CurrentSize,cn=RecordManager,cn=Monitor TotalSize: 4849664 EntryCacheSize: 3866624 BlockCacheSize: 983040 objectclass: Top objectclass: extensibleObject # HitLooks, RecordManager, Monitor dn: cn=HitLooks,cn=RecordManager,cn=Monitor TotalSize: 656418775 EntryCacheSize: 489811630 BlockCacheSize: 166607145 objectclass: Top objectclass: extensibleObject # Hits, RecordManager, Monitor dn: cn=Hits,cn=RecordManager,cn=Monitor TotalSize: 449815580 EntryCacheSize: 283226835 BlockCacheSize: 166588745 objectclass: Top objectclass: extensibleObject # ItemsCached, RecordManager, Monitor dn: cn=ItemsCached,cn=RecordManager,cn=Monitor TotalSize: 1865 EntryCacheSize: 1691 BlockCacheSize: 174 objectclass: Top objectclass: extensibleObject # MaximumSize, RecordManager, Monitor dn: cn=MaximumSize,cn=RecordManager,cn=Monitor TotalSize: 200015872 EntryCacheSize: 100007972 BlockCacheSize: 100007900 objectclass: Top objectclass: extensibleObject # OldVersionCachedCount, RecordManager, Monitor dn: cn=OldVersionCachedCount,cn=RecordManager,cn=Monitor TotalSize: 7 EntryCacheSize: 3 BlockCacheSize: 4 objectclass: Top objectclass: extensibleObject # OldVersionCachedSize, RecordManager, Monitor dn: cn=OldVersionCachedSize,cn=RecordManager,cn=Monitor Monitoring TotalSize: 21376 EntryCacheSize: 4448 BlockCacheSize: 16928 objectclass: Top objectclass: extensibleObject # search result search: 2 result: 0 Success # numResponses: 20 # numEntries: 19