eDirectory allows a single LDAP search method to retrieve the dynamic parameters for individual components such as Threadpool, Connection Table, Dclient, DS Agent, Background Processes, and LDAP Server. This helps the eDirectory administrator to monitor the health of the eDirectory modules and operations through a single common interface.
The monitoring framework provides the monitoring data. The framework gathers real time data from all the registered data producers and shares it with the requestor of the data. For example, you can request for LDAP server specific information.
cn=monitor is a virtual object and data can be gathered using LDAP search with cn=monitor as a base. For security considerations, only an eDirectory user with the ACL write rights on the server object can perform the LDAP search to receive the data.
To monitor data from all the registered data producers, use the ldapsearch command with cn=monitor as below:
ldapsearch -h <SrvIP> -p <port> -D <admin dn> -w <password> -s sub -b cn=monitor
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 ldapsearch data attributes.
Table 8-1 Data Producers and Monitoring Data Attributes
Data Producers |
Monitoring Data Attributes |
---|---|
Agent |
|
DHOST |
The following DHOST process and connection information is monitored:
|
DClient |
|
LDAP |
|
Record Manager |
|
NOTE:eDirectory does not support data filtering on cn=monitor search.
Some background processes are scheduled to run recursively. For example, _SkulkerWorkerProc. eDirectory displays such processes multiple times, as scheduled, in the cn=monitor search response.
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