Sun Java System Messaging Server 6 2005Q4 管理指南

管理郵件儲存記錄、管理記錄和預設服務記錄

本小節說明郵件儲存 (POP、IMAP 和 HTTP) 記錄、管理記錄和預設服務記錄。(請參閱表 21–1)。

對於這些服務,您可以使用主控台來指定記錄設定和檢視記錄。您指定的設定將影響所記錄的事件以及事件的數量。分析記錄檔時,您可以使用這些設定和其他特性來完善對記錄事件的搜尋。

本節包含以下小節:

瞭解服務記錄特性

本節描述了郵件儲存和管理服務的以下記錄特性:記錄級別、記錄事件的類別、記錄的檔案名稱慣例和記錄檔目錄。

記錄級別

記錄的級別或優先順序定義了記錄作業的詳細程度或詳細度。高優先順序意味著較簡略;它意味著僅記錄具有高優先順序 (高嚴重程度) 的事件。低級別意味著更為詳細;它意味著將在記錄檔中記錄更多事件。

可以透過設定 logfile.service.loglevel 配置參數分別為每種服務 (POP、IMAP、HTTP、管理以及預設服務) 設定記錄層級 (請參閱定義和設定服務記錄選項)。還可以使用記錄層級來篩選記錄事件搜尋。表 21–4 說明可用層級。這些記錄層級是由 UNIX syslog 工具定義的層級子集。

表 21–4 儲存和管理服務的記錄級別

級別 

說明 

緊急 

詳細資訊最少的記錄。發生嚴重問題或緊急情況 (如伺服器無法存取電子信箱或執行所需的程式庫) 時會將事件寫入記錄。 

錯誤 

發生錯誤情況 (如嘗試連線到用戶端或其他伺服器失敗) 時會將事件寫入記錄。 

警告 

發生警告情況 (如伺服器無法理解用戶端傳送給它的通訊) 時會將事件寫入記錄。 

通知 

發出通知 (普通但重要的條件) (如使用者登入失敗或階段作業關閉) 時會將事件寫入記錄。這是預設記錄級別。 

資訊 

執行重要動作 (如使用者成功登入、登出、建立或重新命名電子信箱) 時會將事件寫入記錄。 

除錯 

最詳細的記錄。僅用於進行除錯。執行每個程序或作業中的每個單獨的步驟時都將事件寫入記錄,用以確定問題。 

當選取特定記錄級別時,與該級別以及高於該級別 (較低詳細度) 的所有級別相對應的事件均被記錄。預設記錄層級為 Notice


備註 –

指定的記錄越詳細,記錄檔所佔用的磁碟空間就越大;如需相關操作指南,請參閱定義和設定服務記錄選項


記錄事件的類別

在每個受支援的服務或協定中,Messaging Server 將根據產生記錄事件的工具或功能區對記錄事件進一步分類。每個記錄事件都包含產生該事件的工具名稱。這些類別在搜尋時有助於篩選事件。表 21–5列出了 Messaging Server 可識別並用於記錄的類別。

表 21–5 發生記錄事件的類別

工具 

說明 

一般 

與此協定或服務相關的無明顯特徵的動作 

LDAP 

與 Messaging Server 存取 LDAP 目錄資料庫相關的動作 

網路 

與網路連線相關的動作 (通訊端錯誤歸入此類別) 

帳號 

與使用者帳號相關的動作 (使用者登入歸入此類別) 

協定 

與協定專用指令相關的協定層級動作 (由 POP、IMAP 或 HTTP 功能傳回的錯誤歸入此類別) 

統計資料 

與收集伺服器統計資料相關的動作 

存放區 

與存取郵件儲存相關的低級動作 (讀取/寫入錯誤歸入此類別) 

如需有關使用類別做為篩選器在記錄搜尋中的範例,請參閱搜尋並檢視服務記錄

服務記錄檔目錄

每項記錄服務均被指定了單一的目錄,其中儲存該服務的記錄檔。所有 IMAP 記錄檔均儲存在一起,所有 POP 記錄檔及其他服務的記錄檔也是如此。您可以定義每個目錄的位置,也可以定義目錄的最大空間以及該空間中允許存在的記錄檔的最大數量。

請確定儲存容量足夠容納所有記錄檔。記錄資料可能量很大,尤其是在較低 (較高詳細度) 的記錄級別中。

同時定義適當的記錄級別、記錄自動重建、記錄過期和伺服器備份策略也很重要,這可以備份所有記錄檔目錄並使這些目錄都不會過載,否則就可能遺失資訊。請參閱定義和設定服務記錄選項

瞭解服務記錄檔格式

由 Messaging Server 建立的所有郵件儲存和管理服務記錄檔都具有完全相同的內容格式。記錄檔是多行文字檔案,其中每行描述一個記錄事件。對於每項支援的服務,所有事件描述都具有通用格式:

dateTime hostName processName[pid]: category logLevel: eventMessage

表 21–6 列出了記錄檔元件。請注意,除了日期/時間格式不同以及此格式包括兩個附加元件 (category logLevel) 以外,此事件說明的格式與 UNIX syslog 工具定義的格式完全相同。

表 21–6 儲存和管理記錄檔元件

元件 

定義 

dateTime

記錄事件的日期與時間,以 dd/mm/yyyy hh:mm:ss 格式表示,時區欄位以 GMT +/-hhmm 表示。例如:02/Jan/1999:13:08:21 -0700

hostName

伺服器在其上執行的主機名稱:例如,showshoe

注意:如果主機上有多個 Messaging Server 實例,則可以使用程序 ID (pid) 將不同實例的記錄事件相互分隔開。

processName

產生事件的程序名稱:例如,cgi_store

pid

產生事件的程序的程序 ID:例如,18753

category

事件所屬的類別:例如,General (請參閱範例 21–5)。

logLevel

事件所代表的記錄級別:例如,Notice (請參閱範例 21–4)。

eventMessage

可為任意長度的事件特定解釋訊息:例如,Log created (894305624)

以下是使用主控台檢視到的三個記錄事件範例:

02/May/1998:17:37:32 -0700 showshoe cgi_store[18753]:
 General Notice:
   Log created (894155852)

04/May/1998:11:07:44 -0400 xyzmail cgi_service[343]: General Error:
   function=getserverhello|port=2500|error=failed to connect

03/Dec/1998:06:54:32 +0200 SiroePost imapd[232]: Account Notice:
   close [127.0.0.1] [unauthenticated] 1998/12/3 6:54:32
   0:00:00 0 115 0

IMAP 和 POP 事件項目可能會以三個數字結束。以上範例中包含 0 115 0。第一個數字是用戶端傳送的位元組數,第二個數字是伺服器傳送的位元組數,第三個數字是選取的電子信箱數 (對於 POP 始終為 1)。

在 [記錄檢視器] 視窗中檢視記錄檔時,您可以透過搜尋事件中的任意特定元件 (如特定記錄層級或類別,或特定的程序 ID) 來限制顯示的事件。如需更多資訊,請參閱搜尋並檢視服務記錄

每個記錄項目的事件訊息使用的格式都特定於要記錄的事件類型,即每種服務都定義哪些內容會顯示在其任何事件訊息中。許多事件訊息簡單明了,而其他事件訊息則複雜一些。

定義和設定服務記錄選項

您可以定義能最好地滿足管理需要的郵件儲存和管理服務記錄配置。本節論述了可幫助您決定最佳配置和策略的問題,並解釋了如何實作這些配置和策略。

靈活的記錄架構

記錄檔的命名方案 (service.sequenceNum.timeStamp ) 可協助您設計靈活的記錄自動重建和備份策略。事實上,將不同服務的事件寫入不同的檔案便於您快速分離問題。同時,由於檔案名稱中的序列號持續增長,並且時間標記始終是唯一的,因此當有限的序列號集用盡後,以後的記錄檔也不會簡單地覆寫早期的記錄檔。而是僅在達到更靈活的存在時間限制、檔案數量或總儲存空間時,才會覆寫或刪除較舊的記錄檔。

Messaging Server 支援記錄檔的自動循環,此功能簡化了管理也使備份變得更容易。不必手動刪除目前記錄檔並建立新記錄檔以保留後續記錄事件。您可以隨時備份目錄中除目前記錄檔之外的所有記錄檔,而不必停止伺服器或手動通知伺服器啟動新記錄檔。

設定記錄策略的過程中,您可以針對每種服務設定選項,這些選項控制對總記錄儲存空間、最大記錄檔數量、單個檔案大小、最長檔案存在時間和記錄檔循環的速度等方面的限制。

規劃所需的選項

請記住您必須設定數個限制,其中不只一個限制可能會導致記錄檔的循環或刪除。最先達到的限制為起控制性作用的限制。例如,如果最大記錄檔大小是 3.5 MB,並且您指定每天建立一個新記錄,如果每 24 小時建立的記錄資料不止 3.5 MB,那麼每天實際建立的記錄檔則不止一個。而且,如果最大記錄檔數量是 10 個並且最長存在時間是 8 天,則可能永遠不會達到記錄檔的存在時間限制,因為較快的記錄自動重建將意味著在不到 8 天之內便已建立 10 個檔案。

為 Messaging Server 管理記錄提供的以下預設值可能是規劃的合理出發點:

目錄中記錄檔的最大數量:10

最大記錄檔大小:2 MB

所有記錄檔允許的總計最大值:20 MB

允許的最小可用磁碟空間:5 MB

記錄自動重建時間:1 天

過期之前的最長存在時間:7 天

記錄層級:通知

您可以看到此配置假定預計伺服器管理記錄資料每天累積大約 2 MB,每週備份一次,指定給管理記錄的總儲存空間至少是 25 MB。(如果記錄級別更詳細,則這些設定可能不足。)

對於 POP、IMAP 或 HTTP 記錄,相同的值可能是合理的開端。如果所有服務具有大致相同的記錄儲存空間需求 (如此處所示的預設值),您可能期望初始配置總計約 150 MB 的記錄儲存容量。(請注意,這僅表示儲存空間需求的一般指示;實際的需求可能會顯著不同。)

瞭解記錄選項

可以使用主控台或指令行設定可控制郵件儲存記錄配置的選項。

這些選項的最合適設定取決於記錄資料累積的速度。可能需要 4,000 到 10,000 個記錄項目以佔用 1 MB 儲存空間。在較詳細的記錄級別 (如通知),一般忙碌的伺服器每週可能產生數百 MB 的記錄資料。可遵循以下方法:

搜尋並檢視服務記錄

主控台提供了用於檢視郵件儲存和管理記錄資料的基本介面。它允許選取單個記錄檔並允許對那些檔案中的記錄項目執行靈活的篩選搜尋。

對於給定的服務,記錄檔以時間先後次序列示。選擇要搜尋的記錄檔後,您可以透過指定搜尋參數來縮小對單個事件的搜尋範圍。

搜尋參數

以下是可以指定用於檢視記錄資料的搜尋參數:

* 任何字元集 (範例:*.com)

? 任何單一字元 (範例:199?)

[nnn] nnn 集中的任一字元 (範例:[aeiou])

[^nnn]nnn 集中的任一字元 (範例:[^aeiou])

[n-m] n-m 範圍內的任一字元 (範例:[A-Z])

[^n-m]n-m 範圍內的任一字元 (範例:[^0-9])

\ 退出字元:置於 *?[, or] 之前以將這些符號用做文字列

注意:搜尋區分大小寫。

檢視記錄時組合記錄級別和工具的範例可能包括以下幾種:

使用服務記錄

本節說明如何透過 configutil 指令和主控台來使用服務記錄搜尋和檢視記錄。

Procedure將服務記錄傳送至系統記錄

步驟

    使用 syslogfacility 選項執行 configutil 指令:

    configutil -o logfile.service.syslogfacility -v value

    其中,serviceadminpopimapimtahttpvalueusermaildaemonlocal0local7 之間的值,或空值。

    設定此值後,系統會將郵件記錄到與設定值相對應的syslog 工具,並忽略所有其他記錄檔服務選項。如果未設定此選項或值為 none,則記錄會使用 Messaging Server 記錄檔。

Procedure使用主控台設定記錄選項

步驟
  1. 開啟要設定其記錄檔選項的 Messaging Server。

  2. 按一下 [配置] 標籤,開啟左側窗格中的 [記錄檔] 資料夾,並選取某服務 (如 IMAP、HTTP 或 Admin) 的記錄檔。

  3. 從 [詳細資訊等級] 下拉式清單中選擇記錄層級。

  4. 在 [記錄檔的目錄路徑] 欄位中輸入要儲存記錄檔的目錄名稱。

  5. 在 [每個記錄的檔案大小] 欄位中輸入最大記錄檔大小。

  6. 在 [建立新記錄的時間間隔] 欄位輸入表示記錄自動重建排程時間間隔的數字。

  7. 在 [每個目錄的記錄數] 和 [記錄早於] 欄位中輸入記錄檔的最大數目和最長存在時間,以適應您的備份排程。

  8. 在 [總的記錄大小超過] 欄位中輸入所需總儲存限制。

  9. 在 [可用磁碟空間小於] 欄位中輸入要保留的最小可用磁碟空間容量。

停用 HTTP 記錄

如果系統不支援 HTTP 郵件存取,亦即 Webmail,則可以透過設定以下變數來停用 HTTP 記錄。如果系統需要 Webmail 支援 (例如 Messenger Express),請勿設定這些變數。

Procedure設定伺服器記錄層級

步驟

    執行以下 configutil 指令:

    configutil -o logfile.service.loglevel -v level

    其中,serviceadminpopimapimtahttploglevelNologCriticalErrorWarningNoticeInformationDebug

Procedure指定伺服器記錄檔的目錄路徑

步驟

    執行以下 configutil 指令:


    configutil -o logfile.service.logdir -v dirpath
    

Procedure指定每個服務記錄的最大檔案大小

步驟

    執行以下 configutil 指令:


    configutil -o logfile.service.maxlogfilesize -v size
    

    其中,size 指定位元組數。

Procedure指定服務記錄自動重建排程

步驟

    執行以下 configutil 指令:


    configutil -o logfile.service.rollovertime -v number
    

    其中,number 指定秒數。

Procedure指定每個目錄中服務記錄檔的最大數量

步驟

    執行以下 configutil 指令:


    configutil -o logfile.service.maxlogfiles -v number
    

    其中,number 指定記錄檔的最大數目。

Procedure指定儲存限制

步驟

    執行以下 configutil 指令:


    configutil -o logfile.service.maxlogsize -v number
    

    其中,number 指定位元組數。

Procedure指定要保留的可用磁碟空間的最小容量

步驟

    執行以下 configutil 指令:


    configutil -o logfile.service.minfreediskspace -v number
    

    其中,number 指定位元組數。

指定記錄的過期時間


configutil -o logfile.service.expirytime -v number

其中,number 指定秒數。

Procedure指定搜尋和檢視結果

請按以下步驟使用給定服務的特定特性來搜尋記錄事件:

步驟
  1. 在主控台中,開啟要檢查其記錄檔的 Messaging Server。

  2. 請執行以下任一步驟以顯示給定記錄服務的記錄檔 [內容] 標籤:

    • 按一下 [作業] 標籤,然後按一下 [檢視服務記錄],其中服務是記錄的服務 (如「IMAP 服務」或「管理」) 的名稱。

    • 按一下 [配置] 標籤,然後開啟左側窗格中的 [記錄檔] 資料夾並選取某服務 (如 IMAP 或 Admin) 的記錄檔。然後按一下右側窗格中的 [內容] 標籤。

  3. 系統將顯示該記錄服務的 [內容] 標籤。

  4. 在 [記錄檔名稱] 欄位中,選取您要檢查的記錄檔。

  5. 按一下 [檢視選取的記錄] 按鈕以開啟 [記錄檢視器] 視窗。

  6. 在 [記錄檢視器] 視窗中,指定所需的搜尋參數 (已在前一小節搜尋參數中說明)。

  7. 按一下 [更新] 以執行搜尋並將結果顯示在 [記錄項目] 欄位中。

對郵件儲存記錄使用郵件追蹤

您可以使用郵件儲存記錄依郵件 ID 來追蹤郵件,這與 MTA 追蹤郵件的方法類似。以此方式追蹤郵件可讓您追蹤郵件生命週期的緊急事件。

若要在郵件儲存記錄中追蹤郵件,除了一般的記錄配置外,您還需要配置郵件追蹤。依預設,郵件追蹤未啟用。


備註 –

郵件追蹤將佔用大量的磁碟空間。請勿啟用此功能,除非具有充足的磁碟空間。


郵件儲存記錄可以追蹤以下作業︰

Procedure啟用郵件追蹤

步驟

    執行以下 configutil 指令:


    configutil -o local.msgrace.active -v “yes”

    將郵件追蹤資訊寫入至每個程序的預設記錄。IMAP 擷取位於 imap 記錄檔。ims_master 附加位於 ims_master 通道記錄檔。

Procedure將郵件追蹤重新導向至單一記錄檔

步驟

    若要將郵件追蹤記錄重新導向至單一「msgtrace」記錄檔,必須使用 configutil 指令配置記錄檔參數。與其他記錄檔不同,msgtrace 記錄檔在本機配置。例如:


    configutil -o "local.logfile.msgtrace.buffersize" -v "0"
    configutil -o "local.logfile.msgtrace.expirytime" -v "604800"
    configutil -o "local.logfile.msgtrace.flushinterval" -v "60"
    configutil -o "local.logfile.msgtrace.logdir" -v "/opt/SUNWmsgsr/data/log"
    configutil -o "local.logfile.msgtrace.loglevel" -v "Information"
    configutil -o "local.logfile.msgtrace.logtype" -v "NscpLog"
    configutil -o "local.logfile.msgtrace.maxlogfiles" -v "10"
    configutil -o "local.logfile.msgtrace.maxlogfilesize" -v "2097152"
    configutil -o "local.logfile.msgtrace.maxlogsize" -v "20971520"
    configutil -o "local.logfile.msgtrace.minfreediskspace" -v "5242880"
    configutil -o "local.logfile.msgtrace.rollovertime" -v "86400"

Procedure取消配置郵件追蹤記錄

步驟

    若要取消配置 msgtrace 記錄檔,請使用 configutil 指令移除該記錄檔的所有配置參照。例如:


    configutil -o "local.logfile.msgtrace.buffersize" -v ""
    configutil -o "local.logfile.msgtrace.expirytime" -v ""
    configutil -o "local.logfile.msgtrace.flushinterval" -v ""
    configutil -o "local.logfile.msgtrace.logdir" -v ""
    configutil -o "local.logfile.msgtrace.loglevel" -v ""
    configutil -o "local.logfile.msgtrace.logtype" -v ""
    configutil -o "local.logfile.msgtrace.maxlogfiles" -v ""
    configutil -o "local.logfile.msgtrace.maxlogfilesize" -v ""
    configutil -o "local.logfile.msgtrace.maxlogsize" -v ""
    configutil -o "local.logfile.msgtrace.minfreediskspace" -v ""
    configutil -o "local.logfile.msgtrace.rollovertime" -v ""
    
                      

Procedure配置 LMTP 記錄

步驟

    如果您使用的是 LMTP,而未使用單一「msgtrace」記錄檔,則還必須在本機配置 tcp_lmtp_server 記錄檔。如果您使用的不是 LMTP,或未使用郵件追蹤,或在「msgtrace」記錄檔中使用郵件追蹤,則不必初始化 LMTP 郵件儲存端記錄。(LMTP 已單獨記錄了 MTA 資訊。)例如:


    configutil -o "local.logfile.tcp_lmtp_server.buffersize" -v "0"
    configutil -o "local.logfile.tcp_lmtp_server.expirytime" -v "604800"
    configutil -o "local.logfile.tcp_lmtp_server.flushinterval" -v "60"
    configutil -o "local.logfile.tcp_lmtp_server.logdir" -v \
       "/opt/SUNWmsgsr/data/log"
    configutil -o "local.logfile.tcp_lmtp_server.loglevel" -v "Information"
    configutil -o "local.logfile.tcp_lmtp_server.logtype" -v "NscpLog"
    configutil -o "local.logfile.tcp_lmtp_server.maxlogfiles" -v "10"
    configutil -o "local.logfile.tcp_lmtp_server.maxlogfilesize" -v "2097152"
    configutil -o "local.logfile.tcp_lmtp_server.maxlogsize" -v "20971520"
    configutil -o "local.logfile.tcp_lmtp_server.minfreediskspace" \
       -v "5242880"
    configutil -o "local.logfile.tcp_lmtp_server.rollovertime" -v "86400"
    
                      

其他郵件儲存記錄功能

Messaging Server 提供了名為遙測的功能,可以擷取使用者的整個 IMAP 或 POP 階段作業並形成檔案。該功能對於除錯用戶端問題十分有用。例如,如果使用者抱怨他們的郵件存取用戶端未按預期運行,則該功能可用來追蹤存取用戶端與 Messaging Server 之間的互動作業。請參閱使用遙測技術檢查使用者 IMAP/POP 階段作業

郵件儲存記錄範例

記錄在郵件儲存記錄檔中的確切欄位格式和欄位清單將根據記錄選項設定而有所不同。本小節顯示一些解譯典型記錄項目類型的範例。

郵件儲存記錄範例:錯誤的密碼

如果使用者鍵入無效密碼,則記錄「認證」失敗,與「找不到使用者」訊息相反。訊息「找不到使用者」是為了安全起見而傳送給用戶端的文字,但記錄的是真實原因 (無效密碼)。


範例 21–11 郵件儲存記錄 – 無效密碼


 [30/Aug/2004:16:53:05 -0700] vadar imapd[13027]: Account Notice: badlogin:
[192.18.126.64:40718] plaintext user1 authentication failure

郵件儲存記錄 – 已停用的帳號

以下範例顯示由於已停用帳號而致使使用者無法登入的原因。此外,已停用的帳號可分為「(非使用中)」或「(暫停)」。


範例 21–12 郵件儲存記錄 – 已停用的帳號


[30/Aug/2004:16:53:31 -0700] vadar imapd[13027]: Account Notice: badlogin: 
[192.18.126.64:40720] plaintext user3 account disabled (hold)

郵件儲存記錄範例:已附加的郵件

以下範例顯示附加郵件,即附加郵件至資料夾。郵件儲存記錄會記錄所有經由 ims_masterlmtp 通道進入郵件儲存的郵件。記錄使用者 ID、資料夾、郵件大小和郵件 ID 的「附加」。


範例 21–13 郵件儲存記錄 – 附加


[31/Aug/2004:16:33:14 -0700] vadar ims_master[13822]: Store Information:append:
user1:user/user1:659:<Roam.SIMC.2.0.6.1093995286.11265.user1@vadar.siroe.com>

郵件儲存記錄範例:用戶端擷取的郵件

用戶端擷取郵件後,郵件儲存記錄寫入「取回」訊息。郵件儲存記錄會記錄至少取回一個內文部分的所有用戶端的取回。記錄使用者 ID、資料夾和郵件 ID 的「取回」。


範例 21–14 郵件儲存記錄 - 郵件被用戶端擷取


[31/Aug/2004:15:55:26 -0700] vadar imapd[13729]: Store Information:
fetch:user1:user/user1:<Roam.SIMC.2.0.6.1093051161.3655.user1@vad.siroe.com>

郵件儲存記錄範例:從資料夾中移除的郵件


範例 21–15 郵件儲存記錄範例:從資料夾中移除的郵件

從資料夾 (非系統) 中移除 IMAP 或 POP 郵件後,郵件儲存會寫入「永久刪除」訊息。記錄使用者或公用程式是否永久刪除該郵件。記錄資料夾和郵件 ID 的「永久刪除」。


31/Aug/2004:16:57:36 -0700] vadar imexpire[13923]: Store Information:
expunge:user/user1:<Roam.SIMC.2.0.6.1090458838.2929.user1@vadar.siroe.com>

郵件儲存記錄範例:重複登入郵件

如果您為一個 msgtrace 記錄檔配置郵件追蹤,則位於 imap 和 pop 記錄檔的一般「登入」訊息將在 msgtrace 檔案中複製。以下為一般登入訊息:


範例 21–16 郵件儲存記錄 – 登入


[30/Aug/2004:16:53:13 -0700] vadar imapd[13027]: Account Information: login
[192.18.126.64:40718] user1 plaintext