應用程式如 Apache HTTP Server、IBM WebSphere Application Server、IBM DB2 Universal Database 和 IBM HTTP Server 都可以配置來產生適合使用日誌剖析器進行剖析的日誌格式。
這裡有一份應用程式配置清單可用來幫助格式化日誌,讓工具所提供的剖析器得以剖析這些日誌。
附註:併入在這些日誌檔中的日誌事件都可以使用症狀資料庫分析來解譯出已知事件和錯誤狀況。症狀資料庫可用來尋找錯誤解析和事件重要性的詳細資訊。 如果需要症狀資料庫的詳細資訊及如何匯入和使用它們的指示,請參閱這個檔案尾端的相關主題。
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
#----------------------------------------------------------------------------------------------- # 活動日誌內容 # # 警告:變更任何「活動日誌」內容之前,必須先停止實體節點上的所有伺服器,包括 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
附註:
com.ibm.ws.http.HttpConnection=entry
Exit=enabled:
com.ibm.ws.webcontainer.srp.ServletRequestProcessor=entry
Exit=enabled,
event=enabled
com.ibm.ws.http.HttpConnection=entry
Exit=enabled:
com.ibm.ws.webcontainer.srp.ServletRequestProcessor=entry
Exit=enabled,
event=enabled
附註:依預設,${LOG_ROOT} 是 WAS_HOME\logs\,其中的 WAS_HOME 如下:
若為 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
附註:依預設,${SERVER_LOG_ROOT} 是 WAS_HOME\logs\server_name\,其中的 server_name 是要套用追蹤日誌配置之節點的名稱,而 WAS_HOME 如下:
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 內容會顯示不正確的時區資訊。
ex 'BBO.SBBOEXEC(BBORBLOG)' 'BBO.BOSSXXXX NOFORMAT'
其中
oput 'myuserid.BBO.BOSSXXXX' '/waserror.log'
oput 'myuserid.WASERROR.LOG' '/waserror.log'
附註:IBM WebSphere Application Server for z/OS 錯誤日誌檔只能按照時間建立關聯。
# 存取日誌檔的位置(共用日誌檔格式)。 # 如果這個位置的開頭不是 /,便會在字首加上 ServerRoot。 CustomLog logs/access.log common
附註:
# ErrorLog:錯誤日誌檔的位置。如果這個位置的開頭不是 /,便會在字首加上 ServerRoot。 ErrorLog logs/error.log # LogLevel:控制記載到 error.log 的訊息數。 # 可用的值包括:debug、info、notice、warn、error、crit、alert 和 emerg。 LogLevel warn
附註:
DB2 的預設配置會將所有錯誤及警告訊息寫入一個名為 db2diag.log 的日誌檔。這個檔案位於下列位置:
若為受支援的 Windows 環境:
- 如果沒有設定 DB2INSTPROF 環境變數或關鍵字,則資訊會寫入 X:\sqllib_dir\DB2INSTANCE,其中 x:\sqllib_dir 是 DB2PATH 登錄變數或環境變數中所指定的路徑,且 DB2INSTANCE 是實例擁有者的名稱。
- 如果已設定 DB2INSTPROF 環境變數或關鍵字,則資訊會寫入 X:\DB2INSTPROF\DB2INSTANCE,其中 DB2INSTPROF 是實例設定檔目錄的名稱,且 DB2INSTANCE 是實例擁有者的名稱。
若為 UNIX 型環境:該檔位於 INSTHOME/sqllib/db2dump,其中 INSTHOME 是實例擁有者的起始目錄。
在資料庫管理程式配置中所指定的 DIAGPATH 變數會提供「擷取首次故障資料」(FFDC) 儲存體目錄的完整路徑。 DIAGPATH 的預設值為空值字串。若要變更 DIAGPATH 值,請使用下列指令:
DB2 UPDATE DBM CFG USING DIAGPATH path
請遵循下列步驟:
您可藉由下列這些步驟來配置要寫入診斷日誌檔 (db2diag.log) 的事件資訊量:
WebSphere Application Server 的「管理主控台」能夠配置和 JDBC 相關的資訊如何記載到事件中。有兩個方式可以將 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 版本以及伺服器實例名稱而定。
比方說,如果想看到在執行 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 檔案包含記載的規格。
<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 檔案中。
<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 檔案中建立追蹤日誌。
stopServer -instance default
3. 重新啟動伺服器
startServer -instance default
相關概念
使用「日誌和追蹤分析器」來判斷分散式應用程式的問題
自主運算症狀資料庫
相關作業
匯入日誌檔
匯入及使用 AC 症狀資料庫
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.