動態檔名支援
使用動態檔名支援來指定檔名型樣而不是實際檔名。
- 正規表示式(偏好)。
- IBM® Tivoli® Universal Agent 動態檔名語法(已淘汰)。
正規表示式檔名型樣
若要指定檔名型樣,您可以根據(ICU 正規表示式)中所記載的 International Components for Unicode (ICU) 語法,使用正規表示式。 若要使用此功能,您必須在「進階日誌檔屬性群組資訊」頁面上,選取檔名符合正規表示式勾選框。 當您指定正規表示式型樣時,您還必須從「進階日誌檔屬性群組資訊」頁面的當多個檔案符合時清單中選取選項,以指定用於選取最新相符檔案的準則。
如需如何配置進階日誌檔屬性群組內容的相關資訊,請參閱(監視日誌檔),步驟 (6)。 例如,如果您已指定檔名型樣:
d:\program files\logs\tivoli.* 此型樣會在 d:\program files\logs 目錄中搜尋以 tivoli 開頭的檔名。 只能針對檔名部分而不是路徑名稱指定正規表示式。
動態檔名語法
使用動態檔名語法,一次僅可監視一個檔案。 「檔案資料提供者」會檢查設計路徑位置中的所有檔案,以探查符合所定義型樣的檔案。 「檔案資料提供者」一律監視最新的相符檔案,其基於具有最高號碼或日期時間值的相符檔名。 進行監視的適當檔案由檔名所決定,而不是檔案建立或其他準則。
可以針對具有任何部分數目的檔名指定型樣。 例如,Log{###} 符合一部分檔名,如 Log010 或 Log456。 在多部分檔名中,可在檔名的任何部分或多個部分中指定型樣字元。 例如,aaa.bbb{???}.ccc 是有效的型樣,而 aaa.bbb{???}.ccc{###} 也是有效的。
下列範例說明檔名型樣規格:
- {########}.abc
- 符合長度為 8,且副檔名為 .abc 的數字檔名,例如,10252006.abc 或 10262006.abc。 因為 10262006 大於 10252006,所以會監視檔案 10262006.abc。
- {########}.*
- 符合長度為 8 的數字檔名,並忽略副檔名。 範例包括 20061025.log、20061101.log 及 10252006.abc。 因為 20061101 是最大的數字,所以會監視檔案 20061101.log。
- {######??}.abc
- 符合長度為 8,且副檔名為 .abc 的數字檔名,並忽略名稱部分的最後兩個位置。 範例包括 02110199.abc、02110200.abc 及 021101AZ.abc。 因為 021102 是最大的數字,所以會監視檔案 02110200.abc。
- Console.{######}
- 符合在名稱部分包含 Console 且副檔名部分中有 6 位數數字的檔名。 範例包括 Console.000133、Console.000201 及 Console.000134。 會對檔案 Console.000201 進行監視。
- IN{######}.log
- 符合以 IN 開頭、後面接著六個數字且副檔名為 .log 的檔名。 範例包括 IN021001.log、IN021002.log 及 IN021004.log。 會對檔案 IN021004.log 進行監視。
- PS{###}FTP.txt
- 符合以 PS 開頭、後面接著三個數字以及 FTP,且副檔名為 .txt 的檔名。 範例包括 PS001FTP.txt、PS005FTP.txt 及 PS010FTP.txt。 會對檔案 PS010FTP.txt 進行監視。
- 在檔名中使用大括弧 {} 以含括型樣字元。 大括弧內型樣字元的顯示狀態指出正在使用檔名型樣。
- 使用星號 (*) 為萬用字元以忽略檔名中的副檔名或全部尾端字元。 例如,Myapp{###}.log* 指定任何以 Myapp 開頭,後面接著三個數字及 .log 的檔名,都是符合項目,不管後面是什麼。
星號必須在大括弧 ({ }) 之後指定,而不能用於檔名開頭處。 當您在副檔名中使用星號時,星號必須由其本身使用。
萬用字元 (*) 的正確用法範例:- err{??}.*
- error{$}.*
- error.20*
- 星號 (*) 前無任何大括弧。
- error*.{###}
- 星號不可用於檔名末尾。
- error.*
- 星號 (*) 前無任何大括弧。
- 如果已定義特定的副檔名,則僅考量具有相同副檔名的檔案。
- 使用 # 記號指出檔名的每一個數字元素。
- 使用問號以排除命名慣例的每一個元素,這些元素在決定適當的檔名時無法提供為搜尋準則。
- 使用錢幣符號 ($) 代表任何字元或無字元。 例如,如果您想要符合名為 Log 與 LogA 的兩個檔案,請指定 Log{$}。 錢幣符號具有數個使用限制。 當您對檔名字首使用一或多個錢幣符號(如 {$$$$$$}_abc.log)時,錢幣符號的數目必須與檔名中該位置的字元數目完全相符。 此外,您無法在檔名型樣中的多個位置指定錢幣符號,例如,{$$$}b{$$$}.log 不符合 abc.log。 鑒於這些錢幣符號限制,如果檔名中存在不確定數目的字元,請使用正規表示式檔名型樣。
- 在大括弧中含括的 # 記號及問號總數非常重要。 必須完全符合檔名的部分。 例如,型樣 AA{####} 會指示「檔案資料提供者」尋找 AA0001 之類的檔案。 不考量 AA001 或 AA00001 之類的檔名。
- 確切的檔名型樣(常數與數值部分)必須確切符合檔名。 例如,型樣 AA{###} 會指示「檔案資料提供者」檢查檔案 AA101。 不考量 XAA101、AA222X 及 AA55555 之類的檔名。
- 使用保留型樣字串 {TIVOLILOGTIME} 替換 Tivoli Monitoring 代理程式或伺服器日誌檔中的十六進位時間戳記及檔案序號。 在您執行 Tivoli Monitoring 元件的自我監視時,此型樣字串非常有用。
例如,如果您想要監視 /opt/IBM/ITM/logs 目錄中的最新 監視伺服器 日誌,則可以指定檔名型樣:
如果 Host1_ms_452053c0-01.log、Host1_ms_451f11f4-01.log、Host1_ms_45205946-01.log 及 Host1_ms_451f11f4-02.log 存在於 /logs 目錄中,則會選取 Host1_ms_45205946-01.log 檔案進行監視。/opt/IBM/ITM/logs/Host1_ms_{TIVOLILOGTIME}.log
若要精確地指定包含日期部分(年、月及日)的檔名,請使用大寫字母 Y、M 及 D。這些字母必須在大括弧內指定;否則它們會被視為檔名中的文字字元。
請參閱下列範例:
- {YYYYMMDD}.log
- 指定 20060930.log 或 20061015.log 之類的檔名。
- {MMDDYY}.log
- 指定 101106.log 或 110106.log 之類的檔名。
- {DDMMYYYY}.log
- 指定 01092006.log 或 15082006.log 之類的檔名。
- {DDMMMYY}.log
- 指定 24Jan07 或 13Sep06 之類的檔名。
- {MM-DD-YY}.log
- 指定 11-02-06 或 04-29-07 之類的檔名。 (-) 分隔字元在日期欄位中會被忽略,無需問號型樣字元即可跳過它。
- MY{YYDDD}.log
- 指定 MY06202.log、MY06010.log 或 MY04350.log 之類的檔名。
存在複雜的情況,如日期欄位內嵌在較長的檔名中,而先前範例中的日期型樣不夠用。 對於複雜的情況,請建立混合使用 # 記號與問號的型樣,並仍執行數值比較,以選取最新的檔案以進行監視。 例如,型樣 ABC{?####?##?##?##?##?##?}XYZ.TXT 可用於 ABC 2006-04-20 11_22_33 XYZ.TXT 之類的檔名。 在此範例中,您僅對 #- 標示的數字感興趣,而問號會充當位置保留元,以忽略檔名中的其他字元。
- 「檔案資料提供者」最先啟動。
- 目前監視的檔案可能因為重新命名或刪除而不再存在。
- 現有檔案內容可能因為重新撰寫而變更。
- 檢查間隔已過期。 預設間隔是 10 分鐘。
您可以透過指定環境變數,將間隔變更為較長或較短的間隔值。
KUMP_DP_FILE_SWITCH_CHECK_INTERVAL=number-of-seconds