Sun Java System Directory Server Enterprise Edition 6.0 管理指南

Procedure追蹤由目錄伺服器經目錄代理伺服器至用戶端應用程式的作業

無法使用 DSCC 執行此作業。請依照此程序中的說明使用指令行。

  1. 在目錄伺服器存取記錄中找到要追蹤之作業的連線編號。

    例如,存取記錄中的以下行顯示連線編號為 conn=12839 的作業 op=2


    [20/Jul/2006:18:01:49 -0500] conn=12839 op=2 msgId=4 - SRCH base="dc=example,dc=com" 
     scope=2 filter="(objectClass=organizationalunit)" attrs=ALL
  2. 取得該連線的目錄代理伺服器連線資訊。

    若要取得此資訊,請搜尋目錄伺服器存取記錄,找出具有對應連線編號的所有作業。例如,在 UNIX 系統上,執行下列 grep 指令可找出目錄伺服器存取記錄中對應連線 conn=12839 的所有行:


    $ grep conn=12839 access

    顯示初始 LDAP 連線的行即是您要尋找的行,且與此類似:


    [19/Jul/2006:16:32:51 -0500] conn=12839 op=-1 msgId=-1 - fd=27 slot=27 
     LDAP connection from 129.153.160.175:57153 to 129.153.160.175

    上面一行顯示存在自 129.153.160.175:57153 至目錄伺服器的 LDAP 連線。連接埠號 (57153) 是將連線連結回目錄代理伺服器存取記錄必要的資訊。連接埠號可讓您尋找目錄代理伺服器記錄中對應的連線,並從該連線找出用戶端資訊。

    如果在初次建立連線之後已自動重建記錄檔,您必須同時搜尋歸檔的記錄檔與目前的存取記錄檔。

  3. 找出目錄代理伺服器存取記錄中對應的連線。

    若要取得此資訊,請搜尋目錄代理伺服器存取記錄,找出具有對應連結埠號的所有作業。

    您可能會在記錄檔中找到許多項目皆具有相同的連接埠號。若要確保找到正確的項目,請將目錄伺服器記錄項目的時間戳記納入搜尋中。

    例如,在 UNIX 系統上,執行下列 grep 指令可找出目錄伺服器記錄中找到的時間戳記與連接埠號對應的連線項目:


    $ grep 19/Jul/2006:16:32 access | grep 57153

    請注意,考量到伺服器時間會有些微差異,時間戳記會排除值。

    目錄代理伺服器記錄中對應的行應與此類似:


    [19/Jul/2006:16:32:51 -0500] - SERVER_OP  - INFO  - Created BIND  LDAP connection 
     s_conn=sunds-d1m1-9389:34 client=0.0.0.0:57153 
     server=idm160.central.sun.com:9389 main

    此行顯示目錄代理伺服器已建立 BIND 連線至 s_conn=sunds-d1m1-9389:34。目錄代理伺服器將其本身識別為 TCP 連接埠 57153 上的用戶端 client=0.0.0.0

    要從記錄中此行擷取的重要資訊是伺服器 ID 與連接埠號 (s_conn=sunds-d1m1-9389:34 )。

  4. 找出所有對應到上一步驟中識別的伺服器 ID 與連接埠號的作業。

    若要取得此資訊,請搜尋目錄代理伺服器存取記錄,找出具有對應伺服器 ID 與連結埠號的所有作業。

    例如,在 UNIX 系統上,執行下列 grep 指令可找出上一個步驟中找到的伺服器 ID 對應的作業:


    $ grep s_conn=sunds-d1m1-9389:34 access

    在此狀況下,由於這些作業可能耗時數日,因此搜尋時間戳記毫無作用。但是,您必須確定搜尋是否傳回了正確的作業。如果有多個 Create 連線陳述式,請確保找到對應原始搜尋陳述式的作業。若要執行此項作業,請比較此時間戳記與步驟 1 中找到的時間戳記。

    目錄代理伺服器存取記錄的下列擷取顯示針對 s_conn=sunds-d1m1-9389:34 傳回的所有作業。


    [19/Jul/2006:16:32:51 -0500] - SERVER_OP  - INFO - Created BIND LDAP connection
     s_conn=sunds-d1m1-9389:34 client=0.0.0.0:57153 server=idm160.central.sun.com:9389 main
    [20/Jul/2006:18:01:49 -0500] - SERVER_OP  - INFO  - conn=31 op=0 BIND dn="cn=directory manager"
     method="SIMPLE" s_msgid=3 s_conn=sunds-d1m1-9389:34
    [20/Jul/2006:18:01:49 -0500] - SERVER_OP  - INFO  - conn=31 op=0 BIND RESPONSE err=0 msg=""
     s_conn=sunds-d1m1-9389:34
    [20/Jul/2006:18:01:49 -0500] - SERVER_OP  - INFO  - conn=31 op=1 SEARCH base="dc=example,dc=com"
     scope=2 s_msgid=4 s_conn=sunds-d1m1-9389:34
    [20/Jul/2006:18:01:49 -0500] - SERVER_OP  - INFO  - conn=31 op=1 SEARCH RESPONSE err=0 msg=""
     nentries=1 s_conn=sunds-d1m1-9389:34

    此資訊表明,目錄代理伺服器上此搜尋作業的連線 ID 為 31 (conn=31)。

  5. 找出上一步驟中找到的連線 ID 對應的用戶端連線 IP 位址。

    若要取得此資訊,請搜尋目錄代理伺服器存取記錄,找出具有正確連線 ID 與時間戳記的所有作業。所使用的時間戳記是步驟 1 的原始搜尋陳述式中的時間戳記。

    例如,在 UNIX 系統上,執行下列 grep 指令可找出用戶端連線 IP 位址:


    $ grep "20/Jul/2006:18:01" access | grep conn=31

    您關注的行應類似與此:


    [20/Jul/2006:18:01:49 -0500] - CONNECT - INFO  - conn=31 client=129.150.64.156:2031
    server=0.0.0.0:11389 protocol=LDAP
  6. 確定上一步驟中找到的 IP 位址的擁有者。

    利用此資訊,您可以精確建立目錄伺服器上所執行作業的負責人。