Description:
The DXadmind administrative daemon has a specific set of debug levels that determine what types of debug information will be written to it's log file. This techdoc details those debug levels and illustrates how the debug information it written to the dxadmind log file.
Solution:
There are two ways that you can specify debug levels for your DXadmind administrative daemon processes.
The DXadmind process has debug levels for each type of information required. They are:
-1 | enable all debugging |
0 | no debugging |
1 | trace function calls |
2 | debug packet handling |
4 | heavy trace debugging |
8 | connection management |
16 | print out packets sent and received |
32 | search filter processing |
64 | configuration file processing |
128 | access control list processing |
256 | stats log connections/operations/results |
512 | stats log entries sent |
1024 | print communication with shell backends |
2048 | print entry parsing debugging |
Setting "dxadmind debug 128" outputs all ACL related processing. E.g:
registerACL (DXmanager host) internal line 0 = ' registerACL (DXmanager host) internal line 0 = ' arg=0: access arg=0: access arg=1: to arg=1: to arg=2: * arg=2: * arg=3: by arg=3: by arg=4: dn.subtree=cn=Internal Thread arg=4: dn.subtree=cn=Internal Thread arg=5: write arg=5: write arg=6: by arg=6: by arg=7: tls_ssf=128 arg=7: tls_ssf=128 arg=8: users arg=8: users arg=9: peername.ip=aaa.bbb.ccc.ddd arg=9: peername.ip=aaa.bbb.ccc.ddd arg=10: write arg=10: write ' ' 20090805.075741.390 OPERATION: DXadmind Server Starting - Configuration version= 26, status=Encrypted => access_allowed: search access to "cn=dxadmind" "cn" requested Global ACL: access to * by dn.subtree="cn=internal thread" write by users peername.ip="aaa.bbb.ccc.ddd" tls_ssf=128 write => access_allowed: search access to "cn=dxadmind" "cn" requested => acl_get: [1] attr cn => acl_get: [1] attr cn => acl_mask: access to entry "cn=dxadmind", attr "cn" requested => acl_mask: access to entry "cn=dxadmind", attr "cn" requested => acl_mask: to value by "cn=status,cn=internal thread", (=0) => acl_mask: to value by "cn=status,cn=internal thread", (=0) <= check a_dn_pat: cn=internal thread <= check a_dn_pat: cn=internal thread <= acl_mask: [1] applying write(=wrscxd) (stop) <= acl_mask: [1] applying write(=wrscxd) (stop) <= acl_mask: [1] mask: write(=wrscxd) <= acl_mask: [1] mask: write(=wrscxd) => access_allowed: search access granted by write(=wrscxd) => access_allowed: search access granted by write(=wrscxd) => access_allowed: search access to "cn=config,cn=dxadmind" "cn" requested => access_allowed: search access to "cn=config,cn=dxadmind" "cn" requested => acl_get: [1] attr cn => acl_get: [1] attr cn => acl_mask: access to entry "cn=config,cn=dxadmind", attr "cn" requested => acl_mask: access to entry "cn=config,cn=dxadmind", attr "cn" requested => acl_mask: to value by "cn=status,cn=internal thread", (=0) => acl_mask: to value by "cn=status,cn=internal thread", (=0)
Setting "dxadmind debug 8" shows all connection debug information:
20090805.080109.296 OPERATION: DXadmind Server Starting - Configuration version= 26, status=Encrypted daemon: added 1736r daemon: added 1736r daemon: added 1728r daemon: added 1728r daemon: added 1720r daemon: added 1720r daemon: select: listen=1728 active_threads=0 tvp=NULL daemon: select: listen=1728 active_threads=0 tvp=NULL daemon: select: listen=1720 active_threads=0 tvp=NULL daemon: select: listen=1720 active_threads=0 tvp=NULL daemon: shutdown requested and initiated. daemon: shutdown requested and initiated. daemon: closing 1728 daemon: closing 1728 daemon: closing 1720 daemon: closing 1720 slapd shutdown: waiting for 0 threads to terminate slapd shutdown: waiting for 0 threads to terminate 20090805.080113.125 OPERATION: DXadmind Server Stopping dxadmind stopped. dxadmind stopped.
Setting "dxadmind debug" with no parameters invokes "-1" debugging which is everything.
When the "dxadmind debug" command is executed, there will be no output to the command window/shell. All information will be output to the DXadmind.log in the DXHOME/logs folder.
To terminate the debug tracing, click the CNTL + C keys. This will shutdown the debug tracing.