配置應用程式產生日誌檔

應用程式如 Apache HTTP Server、IBM WebSphere Application Server、IBM DB2 Universal Database 和 IBM HTTP Server 都可以配置來產生適合使用日誌剖析器進行剖析的日誌格式。

這裡有一份應用程式配置清單可用來幫助格式化日誌,讓工具所提供的剖析器得以剖析這些日誌。

附註:併入在這些日誌檔中的日誌事件都可以使用症狀資料庫分析來解譯出已知事件和錯誤狀況。症狀資料庫可用來尋找錯誤解析和事件重要性的詳細資訊。 如果需要症狀資料庫的詳細資訊及如何匯入和使用它們的指示,請參閱這個檔案尾端的相關主題。

Apache HTTP Server for iSeries 活動和追蹤日誌檔的配置

Apache 配置檔在 iSeries 伺服器上的名稱為 /www/apachedft/conf/httpd.conf。請遵循下列指引適當地啟用存取和錯誤日誌:

# ErrorLog:錯誤日誌檔的位置。如果這個位置的開頭不是 /,便會在字首加上 ServerRoot。
ErrorLog ./logs/error.log

   # LogLevel:控制記載到 error.log 的訊息數。
# 可能的值包括:debug、info、notice、warn、error、crit、
# alert 和 emerg。
   LogLevel warn
# 下列指引定義要用於
# CustomLog 指引的部分格式暱稱(請參閱下文)。

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" commonLogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

# 存取日誌檔的位置(共用日誌檔格式)。
   # 如果這個位置的開頭不是 /,便會在字首加上 ServerRoot。


CustomLog ./logs/access.log common

在上面兩個粗體文字的區段定義 Apache 錯誤日誌和存取日誌分別放置的位置。 例如,在 ServerRoot 是 /www/apachedft 的狀況下,日誌會出現在 /www/apachedft/logs/ 子目錄內並分別命名為 error.log.* 和 access.log.*。檔案名稱最終的字尾和日期相依(例如,2003 年 12 月 31 日的第一個 error.log. 會被命名為 Q103123100)。

在變更 Apache 配置檔之後,必須重新啟動 Apache Server 變更才會生效。 從 OS400 指令行,輸入 STRTCPSVR SERVER(*HTTP) INSTANCE(APACHEDFT)

相反地,在 OS400 指令行使用下列指令:ENDTCPSVR SERVER(*HTTP) INSTANCE(APACHEDFT) 來結束 Apache Server

IBM WebSphere Application Server 4.0 版活動日誌檔的配置

  1. 編輯 <WAS_HOME>\properties\logging.properties 記載配置檔的下列項目:
     #-----------------------------------------------------------------------------------------------
     # 活動日誌內容
     #
     # 警告:變更任何「活動日誌」內容之前,必須先停止實體節點上的所有伺服器,包括 AdminServers。
     #
     # com.ibm.ws.ras.AcvitityLogEnabled:這個內容用於判斷這個節點上的伺服器是否會將 Ras 事件寫入活動
     # 日誌。有效值為 true 和 false,其中 true 為預設值。關閉這項記載可能會對服務功能造成嚴重
     # 的影響。
     #
     # com.ibm.ws.ras.ActivityLogSize:活動日誌的大小 (KB)。預設值為 1024,產生的日誌大小為 1 MB。有關
     # 設定這個日誌大小的準則,請參閱「問題判斷」手冊。
     #------------------------------------------------------------------------------------------------
    

    com.ibm.ws.ras.ActivityLogEnabled=true
    com.ibm.ws.ras.ActivityLogSize=1024


  2. 儲存配置檔的變更。
  3. 重新啟動應用程式伺服器。

附註:

IBM WebSphere Application Server 4.0 版追蹤日誌檔的配置(獨立式管理主控台)

  1. 開啟 IBM WebSphere Application Server 管理主控台。
  2. 選取 WebSphere 管理領域 > 節點 > node_name > 應用程式伺服器 > server_name > 服務 > 追蹤服務,其中的 node_name 是節點的名稱,而 server_name 則是要套用追蹤日誌配置之伺服器的名稱。
  3. 按兩下 server_name 並選擇「服務」標籤。
  4. 強調顯示「追蹤服務」,再按一下編輯內容
  5. 按一下瀏覽,再選取要追蹤的群組或元件,或兩者的組合。
  6. 確定下列元件都已啟用,如下所示:

    com.ibm.ws.http.HttpConnection=entry
    Exit=enabled:
    com.ibm.ws.webcontainer.srp.ServletRequestProcessor=entry
    Exit=enabled,
    event=enabled


  7. 按一下確定
  8. 追蹤檔設成本端檔案路徑。
  9. 按一下確定
  10. 儲存配置變更。
  11. 重新啟動應用程式伺服器。

IBM WebSphere Application Server 4.0 版追蹤日誌檔的配置(Servlet 型管理主控台)

  1. 開啟 IBM WebSphere Application Server 管理主控台。
  2. 選取 WebSphere 管理網域 > 節點 > node_name > 應用程式伺服器 > server_name > 追蹤服務,其中 node_name 是節點的名稱而 server_name 是要套用追蹤日誌配置的伺服器名稱。
  3. 啟用「追蹤字串」並新增想要追蹤的元件。
  4. 確定下列元件都已啟用,如下所示:

    com.ibm.ws.http.HttpConnection=entry
    Exit=enabled:
    com.ibm.ws.webcontainer.srp.ServletRequestProcessor=entry
    Exit=enabled,
    event=enabled


  5. 追蹤檔設成本端檔案路徑。
  6. 按一下確定
  7. 儲存配置變更。
  8. 重新啟動應用程式伺服器。

IBM WebSphere Application Server 5.0 版或 6.0 版活動日誌檔的配置

  1. 開啟 IBM WebSphere Application Server 管理主控台。
  2. 選取疑難排解 > 日誌和追蹤 > server_name > IBM 服務日誌,其中的 server_name 是要套用活動日誌配置之節點的名稱。
  3. 啟用服務日誌。
  4. 檔案名稱設成本端檔案路徑。
  5. 按一下套用確定
  6. 儲存配置變更。
  7. 重新啟動應用程式伺服器。

附註:依預設,${LOG_ROOT} 是 WAS_HOME\logs\,其中的 WAS_HOME 如下:

IBM WebSphere Application Server 5.0 版或 6.0 版追蹤日誌檔的配置

  1. 開啟 IBM WebSphere Application Server 管理主控台。
  2. 選取疑難排解 > 日誌和追蹤 > server_name > 診斷追蹤,其中 server_name 是要套用追蹤日誌配置之節點的名稱。
  3. 啟用「追蹤」並新增想要的「追蹤規格」。
  4. 確定下列元件都已啟用,如下所示:

    若為 5.0 版:

       com.ibm.ws.http.HttpConnection=entry   Exit=enabled:   com.ibm.ws.webcontainer.srp.ServletRequestProcessor=entry   Exit=enabled,   event=enabled

    若為 6.0 版:

       com.ibm.ws.http.HttpConnection=entry   Exit=enabled:   com.ibm.ws.webcontainer.srp.ServletRequestProcessor=entry   Exit=enabled,   event=enabledcom.ibm.ws.http.HttpConnection=finer:com.ibm.ws.webcontainer.srp.ServletRequestProcessor=finer
  5. 追蹤輸出檔設成本端檔案路徑。
  6. 按一下套用確定
  7. 儲存配置變更。
  8. 重新啟動應用程式伺服器。

附註:依預設,${SERVER_LOG_ROOT} 是 WAS_HOME\logs\server_name\,其中的 server_name 是要套用追蹤日誌配置之節點的名稱,而 WAS_HOME 如下:

配置 WebSphere Application Server 追蹤日誌檔的大小

  1. 開啟 IBM WebSphere Application Server 管理主控台。
  2. 選取疑難排解 > 日誌和追蹤 > server_name > 診斷追蹤
  3. 在「追蹤輸出」之下,選取檔案,輸入所需要的檔案大小上限。建議的追蹤日誌檔大小應該小於 10MB。
  4. 按一下套用儲存變更。
  5. 重新啟動應用程式伺服器。

配置 IBM WebSphere Application Server for z/OS 錯誤日誌檔

IBM WebSphere Application Server for z/OS 可以配置為寫入錯誤日誌事件到日誌串流或到 WebSphere Application Server MVS 工作的 SYSOUT 資料集。遵循下面的指示將錯誤日誌事件複製到可以被剖析和匯入到「日誌分析器」的檔案中。 「日誌分析器」可以剖析和匯入 WebSphere Application Server for z/OS 4.0 版和 5.0 版的錯誤日誌檔。

附註:IBM WebSphere Application Server for z/OS 錯誤日誌檔不能從 MVS 資料集被匯入。 它們必須在 UNIX 的系統服務 (System Service) 檔案系統中

附註:錯誤日誌事件中的時間會被剖析為 GMT 時間, 所以必須將 WebSphere Application Server for z/OS 配置為在錯誤日誌事件中寫入 GMT 時間。這是預設值配置。 如果配置成在錯誤日誌事件中寫入當地時間,在「日誌視圖」中日誌事件的 creationTime 內容會顯示不正確的時區資訊。

附註:IBM WebSphere Application Server for z/OS 錯誤日誌檔只能按照時間建立關聯。

IBM HTTP Server 1.3.19.3 版到 2.0.42.1 版存取日誌檔的配置

  1. 編輯 IHS_HOME\conf\httpd.conf HTTP 伺服器配置檔的下列項目:

       # 存取日誌檔的位置(共用日誌檔格式)。
       # 如果這個位置的開頭不是 /,便會在字首加上 ServerRoot。
       CustomLog logs/access.log common
  2. 儲存配置檔的變更。
  3. 重新啟動 HTTP 伺服器。

附註:

IBM HTTP Server 1.3.19.3 版到 2.0.42.1 版錯誤日誌檔的配置

  1. 編輯 IHS_HOME\conf\httpd.conf HTTP 伺服器配置檔的下列項目:
       # ErrorLog:錯誤日誌檔的位置。如果這個位置的開頭不是 /,便會在字首加上 ServerRoot。
       ErrorLog logs/error.log
       # LogLevel:控制記載到 error.log 的訊息數。
       # 可用的值包括:debug、info、notice、warn、error、crit、alert 和 emerg。
       LogLevel warn
  2. 儲存配置檔的變更。
  3. 重新啟動 HTTP 伺服器。

附註:

IBM DB2 Universal Database 8.1 版到 8.2 版診斷日誌檔的配置

DB2 的預設配置會將所有錯誤及警告訊息寫入一個名為 db2diag.log 的日誌檔。這個檔案位於下列位置:

若為受支援的 Windows 環境:

若為 UNIX 型環境:該檔位於 INSTHOME/sqllib/db2dump,其中 INSTHOME 是實例擁有者的起始目錄。

在資料庫管理程式配置中所指定的 DIAGPATH 變數會提供「擷取首次故障資料」(FFDC) 儲存體目錄的完整路徑。 DIAGPATH 的預設值為空值字串。若要變更 DIAGPATH 值,請使用下列指令:

DB2 UPDATE DBM CFG USING DIAGPATH path

驗證現行診斷錯誤擷取層次

請遵循下列步驟:

  1. 開啟「DB2 指令視窗」。
  2. 輸入
    db2 get dbm cfg
  3. 讀取「診斷錯誤擷取層次」 ("Diagnostic error capture level (DIAGLEVEL)") 的值。

配置記載的事件資訊量

您可藉由下列這些步驟來配置要寫入診斷日誌檔 (db2diag.log) 的事件資訊量:

  1. 開啟「DB2 指令視窗」。
  2. 輸入:
    db2 update dbm cfg using DIAGLEVEL [level]
    其中 [level] 是控制所要寫入之資訊量的值。預設值為 3。有效值及其意義如下所示:
    0 = 不擷取診斷資料
    1 = 只擷取嚴重錯誤
    2 = 擷取所有錯誤
    3 = 擷取所有錯誤和警告
    4 = 擷取所有錯誤、警告和參考訊息
  3. 如果更新該值,變更會立即生效。

IBM DB2 Universal Database 8.1.2 版或 8.2 JCC 追蹤日誌檔的配置(在 WebSphere Application Server 中執行的 Web 應用程式)

WebSphere Application Server 的「管理主控台」能夠配置和 JDBC 相關的資訊如何記載到事件中。有兩個方式可以將 JCC 日誌訊息記載到事件中:

  1. 將所有 JCC 訊息導向 WAS 5.0 版追蹤日誌檔。
  2. 將所有 JCC 訊息導向另一個日誌檔。

將 JCC 訊息導向 WAS 5.0 版追蹤檔

請遵循下列步驟:

  1. 開啟 IBM WebSphere Application Server 5.0 版「管理主控台」。
  2. 選取 疑難排解 > 日誌和追蹤> server_name > 診斷追蹤
  3. 按一下追蹤規格之下的修改按鈕。這時會開啟一個視窗。
  4. 群組標籤下,確定已選取下列群組:
    1. WAS.database
    2. WAS.j2c
    3. RRA
  5. 按一下套用按鈕。這時視窗就會關閉。
  6. 在主視窗的「配置」標籤中,按一下套用
  7. 儲存配置變更。
  8. 選取資源 > JDBC 提供者 > DB2 Universal JDBC 驅動程式提供者 > 資料來源 > data_source_name > 自訂內容
  9. 自訂內容表格中,確定未設定 traceFile 內容。
  10. 如果 traceFile 下已經指定了檔案名稱,請按一下 traceFile。移除 Value 欄位中的文字,再按一下確定
  11. 儲存自訂內容的變更。
  12. 重新啟動應用程式伺服器。

將 JCC 訊息導向另一個日誌檔

請遵循下列步驟:

  1. 開啟 IBM WebSphere Application Server 5.0 版「管理主控台」。
  2. 選取疑難排解 > 日誌和追蹤 > server_name > 診斷追蹤
  3. 按一下追蹤規格之下的修改按鈕。這時會開啟一個視窗。在那個小視窗的群組標籤下,確定有選取 RRA 群組。
  4. 按一下套用按鈕。這時視窗就會關閉。
  5. 在主視窗的「配置」標籤中,按一下套用
  6. 儲存配置變更。
  7. 選取資源 > JDBC 提供者 > DB2 Universal JDBC 驅動程式提供者 > 資料來源 > data_source_name > 自訂內容
  8. 自訂內容表格的名稱直欄之下,按一下 traceFile
  9. 欄位中輸入追蹤檔的絕對路徑,再按一下確定
  10. 自訂內容表格的名稱直欄之下,按一下 traceLevel
  11. 欄位中輸入適當的 traceLevel 值。 可能的追蹤層次及其意義的說明均記載在 Value 欄位正下方的 Description 內容中。
  12. 按一下確定
  13. 儲存自訂內容的變更。
  14. 重新啟動應用程式伺服器。

IBM DB2 Universal Database 8.1.2 版或 8.2 版 JCC 追蹤日誌檔的配置(獨立式應用程式)

針對資料來源的 JDBC 2 連線功能,請使用 com.ibm.db2.jcc.DB2SimpleDataSource 物件上的 setLogWriter() 和 setTraceLevel() 方法。這些方法可完全啟用預設追蹤層次。

您可以使用驅動程式管理程式 java.sql.DriverManager.setLogWriter() 來啟用 JDBC 1 追蹤功能,或者您也可以將 traceFile 內嵌在 JDBC 1 資料庫 URL 中。
例如:
String databaseURL = "jdbc:db2://hal:50000/sample:traceFile=c:/temp/foobar.txt;traceLevel=" + (com.ibm.db2.jcc.DB2BaseDataSource.TRACE_DRDA_FLOWS | com.ibm.db2.jcc.DB2BaseDataSource.TRACE_CONNECTS) + ";";


 

針對 JDBC 1 和 JDBC 2 連線功能,您可以利用專屬方法 DB2Connection.setJCCLogWriter(java.io.PrintWriter logWriter, int traceLevel),開啟及關閉連線上的追蹤功能。 您也可以使用這個方法,在作用中連線上變更日誌撰寫器或是調整追蹤層次。如果您使用標準的 javax.sql.DataSource.setLogWriter(java.io.PrintWriter logWriter) 方法,便會使用預設(完全啟用)的追蹤層次。您可以利用將日誌撰寫器設定成空值的方式,來停用追蹤。

如果需要建立 Universal JDBC 驅動程式之追蹤資訊的詳細資料,請參閱 DB2 文件。

一旦您完成任何的上述作業集,就可以匯入特定的日誌檔到產品中(檔案 > 匯入...)。

IBM WebSphere Application Server for iSeries 活動和追蹤日誌檔的配置

IBM WebSphere Application Server for iSeries 能夠讓多重伺服器實例每一個都有它自己的配置。 實例被定義的子目錄根據安裝在伺服器上的 IBM WebSphere Application Server 版本以及伺服器實例名稱而定。

比方說,如果想看到在執行 IBM WebSphere Application Server Express 5.0 版的 iSeries 機器上名稱為 default 的伺服器實例之記載設定,則該 server.xml 檔案儲存在下列位置:

/QIBM/ serData/WebASE/ASE5/default/config/cells/myhostname/nodes/mynodename/servers/server1/server.xml。

此 server.xml 檔案包含記載的規格。

  1. 開啟活動日誌產生。
    依預設活動日誌是開啟的,在下列子句中:
    <services xmi:type="loggingservice.ras:RASLoggingService" xmi:id="RASLoggingService_1" enable="true" messageFilterLevel="NONE" enableassociationId="true">
    <serviceLog xmi:id="ServiceLog_1" name="${LOG_ROOT}/activity.log" size="2" enabled="true"/>
    </services>
    

    活動日誌(根據上述範例)會出現在 /QIBM/UserData/WebASE/ASE5/default/logs/activity.log 檔案中。

  2. 開啟 IBM WebSphere Application Server 追蹤日誌。
    依預設該追蹤記載並沒有開啟。要開啟追蹤需要編輯 server.xml 檔案,方法是新增下列三行指令:
    <services xmi:type="traceservice:TraceService" xmi:id="TraceService_1" enable="true" startupTraceSpecification="com.ibm.ws.http.HttpConnection=entryExit=enabled:com.ibm.ws.webcontainer.srp.ServletRequestProcessor=entryExit=enabled,event=enabled" traceOutputType="SPECIFIED_FILE" traceFormat="BASIC" memoryBufferSize="8">
    <traceLog xmi:id="TraceLog_1" fileName="${SERVER_LOG_ROOT}/trace.log" rolloverSize="20" maxNumberOfBackupFiles="1"/>
    </services>
    

    根據上述範例,會在 /QIBM/UserData/WebASE/ASE5/default/logs/server1/trace.log 檔案中建立追蹤日誌。

  3. 停止並重新啟動 IBM WebSphere Application Server 實例來確定變更
    可以從指令行或 IBM WebSphere Application Server 管理主控台來完成此項操作。 若要從指令行停止伺服器,應該從 iSeries QShell 直譯器發出下列指令。 1. 變更現行目錄到適用的 IBM WebSphere Application Server bin 目錄;2. 停止該伺服器
    stopServer -instance default

    3. 重新啟動伺服器

    startServer -instance default

相關概念
使用「日誌和追蹤分析器」來判斷分散式應用程式的問題
自主運算症狀資料庫

相關作業
匯入日誌檔
匯入及使用 AC 症狀資料庫