【轉】教你如何看懂WAS 日誌(websphere application server)__web

來源:互聯網
上載者:User

今天看到關於WAS日誌的文章,寫的很全面,轉來大家學習學習。

WebSphere Application Server 是一個基於 Java 的 Web 應用程式伺服器,它構建在開放標準的基礎之上,能協助您部署與管理從簡單的 Web 網站到強大的電子商務解決方案的諸多應用程式。它遵循 J2EE 並為 Java 組件、XML 和 Web 服務提供了一個可移植的 Web 部署平台,這個平台能夠與資料庫互動並提供動態 Web 內容。

隨著WebSphere Application Server產品在中端市場的份額不斷增加,使用WebSphere Application Server作為IT基礎產品的企業越來越多,作為我們企業的IT部門,很重要的一部分工作就是管理WebSphere Application Server。由於業務系統的複雜性,以及IT系統的龐大等多種原因,我們的系統不可避免的會出現這樣那樣的問題,要定定位和解決這些問題,WebSphere Application Server的日誌將起了很關鍵作用。怎麼管理以及查看這些日誌呢。

本文作者所一直從事WebSphere Application Server的相關服務工作,積累了許多WebSphere Application Server的管理經驗。我們希望能夠通過一系列的文章與讀者分享這些經驗想,協助您更好管理好你的WebSphere Application Server。

本文將從問題診斷入手,在解決一系列具體問題的過程中,介紹配置日誌的策略以及具體參數的用法,為您提供診斷問題的途經以及指定日誌策略的方式和方法。 問題診斷的方法

在我們基於J2EE的應用程式中,問題的出現可能在各個相關的環節出現。所以首先要明確問題是發生在哪個組建上的,我們可以通過測試單個組件,檢查他們成功或者失敗來把問題進行一個隔離。從而分析相關日誌來定位問題。下圖是一些常用的測試方法以及相關日誌的位置。

當我們的系統出現不能訪問現象時,我們一般按照一下步驟進行分析:

1.使用瀏覽器通過80連接埠訪問應用(例如:http://localhost/myWeb/)

2.使用瀏覽器通過9080(根據實際連接埠而定)連接埠訪問應用(例如:http://localhost:9080/myWeb)如果訪問正常,說明HTTP server的請求沒有正常轉寄,這時候通過http://localhost來驗證HTTP 伺服器是否正常啟動,如果正常說明HTTP server 運行正常,此時請檢查http_plugin.log查看外掛程式日誌,並且查看HTTP server 的設定檔httpd.conf,尋找WebSpherePluginConfig 所載入的plugin-cfg.xml檔案是否正確。

3.如果通過9080(根據實際連接埠而定)連接埠不能訪問應用程式,可以通過http://localhost:9080/snoop 驗證應用伺服器是否存活。如存活則如圖:

一般說明應用程式存在問題,查看分析相關日誌:System.Out.log 、SystemErr.log、activity.log定位應用程式引起的問題。 日誌介紹

System.Out.log 、SystemErr.log 屬於JVM 日誌,。WebSphere Application Server 寫格式化的訊息到 System.out日誌。另外,應用程式和其他代碼可以寫入這些日誌,通過print() 和 println() 方法實現。有些開發工具箱(Developer Kit)內建如 Throwable 類的 printStackTrace() 方法也可以寫入這些日誌。通常,System.out 日誌用於監控應用程式伺服器的運行是否正常。System.out 日誌可用於問題確定,但建議改為使用 IBM 服務日誌和日誌分析器的進階能力。System.err 日誌包含異常堆疊追蹤資訊,這在執行問題分析時很有用。

因為每個應用程式伺服器都代表 JVM,所以每個應用程式伺服器和它的所有應用程式都有一組 JVM 日誌,預設情況下該日誌位於 installation_root/profiles/profile_name/logs/server_name 目錄。在 WebSphere Application Server Network Deployment 配置的情況下,也為 Deployment Manager 和每個節點管理器建立 JVM 日誌,因為它們也代表 JVM。

activity.log為IBM 日誌,應用程式伺服器從各種 WebSphere Application Server 組件的活動建立服務或活動紀錄檔案。服務或活動紀錄檔案(activity.log)是二進位檔案,它位於 install_root 的 logs 目錄中,我們可以使用日誌分析器用於查看服務或活動紀錄檔案。 查看 JVM 日誌

JVM 日誌是作為純文字檔案寫的。因此,查看這些日誌沒有特殊的要求。它們位於 installation_directory/profiles/profile_name/logs/server_name 目錄中,並在預設情況下命名為 SystemOut.log 和 SystemErr.log。

有兩種技術可用於查看應用程式伺服器的 JVM 日誌。

l         使用管理主控台。它支援從遠程機器查看 JVM 日誌。

l         使用儲存日誌的機器上的文字編輯器。

此任務的步驟

1.從管理主控台查看 JVM 日誌。

啟動管理主控台。

在控制台導航樹中單擊故障診斷 > 日誌和跟蹤。要查看特定伺服器的日誌,單擊伺服器名以選擇它,然後單擊JVM 日誌

選擇運行時選項卡。

單擊與您要查看的日誌相應的查看。

2.在伺服器硬碟查看JVM 日誌。

轉至儲存日誌的機器。

在文字編輯器中開啟檔案或將檔案拖放到編輯和查看程式中。 日誌格式:

根據 JVM 日誌配置的不同,格式化的訊息可以用基本或進階格式寫入 JVM 日誌。

訊息格式 格式化的訊息可以使用這兩種格式中的一種寫入 JVM 日誌:

基本格式 這是 WebSphere Application Server 的較早版本中使用的格式。

進階格式 如果可能,則通過添加有關事件的資訊來擴充基本格式。

下面是一些日誌常用格式,可以協助我們更好的查看日誌,可能找到的採用這些格式的各種欄位如下:

TimeStamp

時間戳記是使用其被格式化所處於的進程語言環境格式化的。它包含標準日期(例如,YYMMDD),以毫秒為精度的 24 小時時間和時區。

ThreadId

從發出訊息的線程的散列代碼產生的 8 個字元的十六進位值。

ThreadName

發出訊息或跟蹤事件的 Java 線程名。

ShortName

發出訊息或跟蹤事件的記錄組件的縮寫名稱。這通常是 WebSphere Application Server 內部組件的類名,但也可以是一些使用者應用程式的其他標識。

LongName

發出訊息或跟蹤事件的記錄組件的全名。這通常是 WebSphere Application Server 內部組件的標準類名,但也可以是一些使用者應用程式的其他標識。

EventType

表明訊息或跟蹤事件類型的一個字元欄位。訊息類型是大寫的。可能值包括:

F

致命訊息。

E

錯誤訊息。

W

警告訊息。

A

審計訊息。

I

參考訊息。

C

配置訊息。

D

詳細資料訊息。

O

通過使用者應用程式或內部組件直接寫入 System.out 的訊息。

R

通過使用者應用程式或內部組件直接寫入 System.err 的訊息。

Z

表明不可識別的類型的預留位置。

類名

發出訊息或跟蹤事件的類。

方法名稱

發出訊息或跟蹤事件的方法。

組織

擁有發出訊息或跟蹤事件的應用程式的組織。

產品

發出訊息或跟蹤事件的產品。

組件

發出訊息或跟蹤事件的產品內的組件。

基本格式

以基本格式顯示的訊息事件使用下列格式。符號 表明將總是在基本格式訊息中出現的必需欄位。符號 [name] 表明將被包括的可選的或有條件的欄位,如果可以確定它們的話。

[className][methodName]

進階格式

以進階格式顯示的訊息事件使用下列格式。標記法 用於表明將總是以訊息條目的進階格式出現的必需欄位。標記法 [name] 用於表明將被包括的可選的或有條件的欄位(如果可以確定它們的話)。

[className][methodName]<;Product>[thread=threadName]


配置 JVM 日誌

使用管理主控台配置應用程式伺服器的 JVM 日誌。直到下一次重新啟動應用程式伺服器,才應用為了運行應用程式伺服器而對 JVM 日誌進行的配置更改。

此任務的步驟

啟動管理主控台

單擊故障診斷 > 記錄和跟蹤,然後單擊伺服器 > JVM 日誌

選擇“配置”選項卡。

滾動通過面板以顯示要配置的日誌的屬性。

更改相應的配置屬性並單擊應用。

儲存您的配置更改。 JAVA 虛擬機器(JVM)日誌設定

使用此頁面查看和修改 JAVA 虛擬機器(JVM)System.out 和 System.err 日誌的設定。

要查看此管理主控台頁面,單擊故障診斷 > 日誌和跟蹤 > server name > JVM 日誌。

查看和修改此受管進程的 JAVA 虛擬機器(JVM)System.out 和 System.err 日誌的設定。通過將 JVM 的 System.out 和 System.err 流重新導向到獨立記錄檔來建立 JVM 日誌。System.out 日誌用於監控運行應用程式伺服器的健全狀態。System.err 日誌包含執行問題分析時有用的異常堆疊追蹤資訊。每個應用程式伺服器及其所有應用程式有一組 JVM 日誌。還為 Deployment Manager 和每個節點管理器建立 JVM 日誌。“配置”面板上的更改將在重新啟動伺服器時應用。“運行時”面板上的更改將立即應用。

“配置”選項卡

檔案名稱

指定此頁面中描述的某個記錄檔的名稱。

第一個檔案名稱欄位指定 System.out 日誌的名稱。第二個檔案名稱欄位指定 System.err 檔案的名稱。

按下“運行時”選項卡上的查看按鈕查看所選記錄檔的內容。

為 System.out 日誌或 System.err 日誌指定的檔案名稱必須具有以下某個值:

檔案名稱

檔案系統中的檔案的名稱。建議您使用標準檔案名稱。如果該檔案名稱不是標準檔案名稱,則認為它相對於伺服器的當前工作目錄。每個日誌必須配置一個專用檔案。例如,我們無法將 System.out 和 System.err 重新導向到同一物理檔案。

如果包含檔案的目錄已經存在,則正在啟動並執行伺服器所使用的使用者標識需要該目錄的讀/寫存取權限。如果該目錄不存在,將會用適當的許可權建立它。正在啟動並執行伺服器所使用的使用者標識必須有建立該目錄的許可權。

控制台

這是用於將流重新導向到關聯進程流的特殊檔案名稱。如果為 System.out 指定了此值,則檔案重新導向到 stdout。如果為 System.err 指定了此值,則檔案重新導向到 stderr。

廢棄寫入流的所有資料。指定無等於將流重新導向到 UNIX 系統上的 dev/null。

filename 的預設路徑是變數 SERVER_LOG_ROOT 的值。要查看 SERVER_LOG_ROOT 變數的值:

1.在管理主控台上,選擇環境 > WebSphere 變數

2.單擊伺服器選項按鈕,然後單擊應用。在顯示的列表中出現 SERVER_LOG_ROOT 變數的值。

要更改 SERVER_LOG_ROOT 的值:

1.選擇 SERVER_LOG_ROOT

2.在值欄位中輸入新的路徑

3.單擊“應用”

4.儲存此配置。您必須重新啟動伺服器以使更改生效。

當然我們還可以以將 ${SERVER_LOG_ROOT}/和 ${SERVER_LOG_ROOT}/SystemErr.log 檔案的位置和名稱更改為任何其他絕對路徑和檔案名稱(例如,/tmp/myLogfile.log)。

檔案格式

指定用於儲存 System.out 檔案的格式。

記錄檔滾動(保留舊的記錄檔產生新的記錄檔)

應用伺服器有日誌自管理功能,通過使用這一組配置屬性將 System.out 或 System.err 記錄檔配置為自我管理。

自我管理記錄檔將訊息寫入檔案,直到達到時間或大小條件。當達到指定時間或檔案達到指定大小時,記錄檔將滾動(包括關閉檔案並重新命名儲存的檔案),同時記錄將臨時掛起。新儲存的檔案名稱是原始檔案名加上表明檔案重新命名時間的時間戳記限定符。一旦完成重新命名,則重新開啟具有原始名稱的新的空記錄檔,並恢複記錄。雖然記錄檔滾動後一條訊息可能會分割在儲存的檔案和當前檔案中,但全部訊息都將保留。

如果關聯流重新導向到檔案,則僅可以將一個日誌配置為自我管理。

檔案大小

單擊記錄檔的此屬性以讓它根據其檔案大小管理它自己。當檔案達到最大大小欄位中指定的大小時,發生自動滾動。

最大大小

指定檔案的最大大小(以MB為單位)。當檔案達到此大小時,它就滾動。

此屬性僅當您單擊“檔案大小”後才有效。

時間

單擊記錄檔的此屬性以讓它根據一天中的時間管理它自己。檔案在啟動時間欄位中指定的時間滾動。

啟動時間

指定應用程式伺服器重新啟動後第一次啟動周期滾動演算法的時間,即,一天中的幾點(從 1 到 24)。演算法在應用程式伺服器啟動時裝入。一旦滾動演算法在啟動時間欄位指定的鐘點啟動後,它將每隔一定的時間(重複時間欄位指定的小時數)滾動檔案。此滾動模式將繼續使用不作調整,直到應用程式伺服器停止。

註:滾動總是在一天中指定鐘點開始時發生。一天的第一個小一天的第一個小時(自 00:00:00(午夜)起)是 1 點,而一天的最後一個小時(自 23:00:00 起)是 24 點。因此,如果您希望記錄檔在午夜滾動,則將啟動時間設定為 1。

重複時間

指定隔多少小時(從 1 到 24)發生周期滾動。

重複時間

指定每隔多少小時記錄檔滾動一次。有效值範圍是從 1 到 24。

配置記錄檔按時間、按大小或按時間和大小滾動。單擊檔案大小和時間以在最初相符條件時滾動檔案。例如,如果重複時間欄位是 5 小時,而最大檔案大小是 2 MB,則檔案將每 5 小時滾動一次,除非時間間隔未到而檔案大小已達 2 MB。按檔案大小滾動後,檔案將繼續按時間間隔滾動。

曆史記錄檔的最大大小

指定要儲存的曆史(已滾動)檔案數。流將寫入當前檔案,直到它滾動。滾動時,關閉當前檔案,並以當前名稱加上滾動時間戳記組成的新名稱儲存該檔案。然後流將以原始名稱重新開啟一個新檔案以繼續寫入。曆史檔案數從零增長到最大歷史檔案數欄位的值。下一次滾動刪除最舊的曆史檔案。

已安裝應用程式的輸出

指定是否記錄和格式化應用程式代碼發出的 System.out 或 System.err 列印語句。

顯示應用程式列印語句

單擊此欄位以顯示應用程式使用 print 和 println 流方法寫入流的訊息。總是出現 WebSphere Application Server 系統訊息。

格式化列印語句

單擊此欄位以格式化應用程式列印語句(如 WebSphere Application Server 系統訊息)。

“運行時”選項卡

檔案名稱

指定此頁面中描述的某個記錄檔的名稱。

第一個檔案名稱欄位指定 System.out 日誌的名稱。第二個檔案名稱欄位指定 System.err 檔案的名稱。

按下“運行時”選項卡上的查看按鈕查看所選記錄檔的內容。

為 System.out 日誌或 System.err 日誌指定的檔案名稱必須具有以下某個值:

檔案名稱

檔案系統中的檔案的名稱。建議您使用標準檔案名稱。如果該檔案名稱不是標準檔案名稱,則認為它相對於伺服器的當前工作目錄。每個流必須配置一個專用檔案。例如,您無法將 System.out 和 System.err 重新導向到同一物理檔案。

如果包含檔案的目錄已經存在,則正在啟動並執行伺服器所使用的使用者標識需要該目錄的讀/寫存取權限。如果該目錄不存在,將會用適當的許可權建立它。正在啟動並執行伺服器所使用的使用者標識必須有建立該目錄的許可權。

控制台

這是用於將流重新導向到關聯進程流的特殊檔案名稱。如果為 System.out 指定了此值,則檔案重新導向到 stdout。如果為 System.err 指定了此值,則檔案重新導向到 stderr。

廢棄寫入流的所有資料。指定無等於將流重新導向到 UNIX 系統上的 dev/null。

filename 的預設路徑是變數 SERVER_LOG_ROOT 的值。要查看 SERVER_LOG_ROOT 變數的值:

1.在管理主控台上,選擇環境 > WebSphere 變數

2.單擊伺服器選項按鈕,然後單擊應用。在顯示的列表中出現 SERVER_LOG_ROOT 變數的值。

要更改 SERVER_LOG_ROOT 的值:

1.選擇 SERVER_LOG_ROOT

2.在值欄位中輸入新的路徑

3.單擊“應用”

儲存此配置。您必須重新啟動伺服器以使更改生效。當然我們還可以以將${SERVER_LOG_ROOT}/SystemOut.log 和 ${SERVER_LOG_ROOT}/SystemErr.log 檔案的位置和名稱更改為任何其他絕對路徑和檔案名稱(例如,/tmp/myLogfile.log)。 結束語

JVM 日誌對我們對問題的的分析和跟蹤是非常重要的。WebSphere Application Server 強大的日誌自管理功能,使我們的日常工作更方便更簡單,學習和掌握這些功能對我們管理員來說受益非淺。 參考資料

l         IBM 產品資訊中信http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp

l         WebSphere Application Server V6 System Management and Configuration Handbook 產品紅皮書

l         WebSphere Application Server V6 Scalability and Performance Handbook 產品紅皮書
關於作者

Benson 技術顧問,負責ibm軟體培訓、支援人員、顧問工作。撰寫過java和j2ee開發方面的書籍。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.