動的ファイル名のサポート

実際のファイル名の代わりにファイル名のパターンを指定するには、動的ファイル名のサポートを使用します。

一部のアプリケーション・プログラムで作成される出力ファイル名は、その後変更される可能性があります。特定の基準 (現在の年月日など) に基づいて名前が変更されたり、増分順序番号を含むファイル名であったりします。そのような場合は、実際のファイル名の代わりにファイル名のパターンを指定できます。 ファイル名のパターンを指定するときに 認識されるパターンの形式は以下の 2 つです。
  • 正規表現 (推奨)。
  • IBM® Tivoli® Universal Agent 動的ファイル名の構文 (非推奨)。

正規表現のファイル名パターン

ファイル名のパターンを指定するために、International Components for Unicode (ICU) 構文に従った正規表現を使用できます (この構文については、ICU 正規表現 を参照してください)。この機能を使用するには、 「詳細なログ・ファイル属性グループ情報」ページで「ファイル名が正規表現に一致する」チェック・ボックスを 選択する必要があります。正規表現のパターンを指定する場合は、 「詳細なログ・ファイル属性グループ情報」ページの「複数のファイルが一致する場合は次のファイルを選択」リストから オプションを選択して、一致する最新のファイルを選択するための ガイドラインを指定する必要があります。

注: ファイル名のパターンは、正規表現で指定することをお勧めします。

詳細なログ・ファイル属性グループ・プロパティーの構成方法について詳しくは、ログ・ファイルのモニター、ステップ 6 を参照してください。例えば、 以下のファイル名パターンを指定したとします。

d:¥program files¥logs¥tivoli.*

このパターンは、d:¥program files¥logs ディレクトリーにあり、 tivoli で始まるファイル名を検索します。正規表現を指定できるのはファイル名の部分だけです。 パス名の部分には指定できません。

動的ファイル名の構文

動的ファイル名の構文を使用すると、一度に 1 つだけのファイルを モニターできます。ファイル・データ・プロバイダーは、指定されたパス・ロケーション内のすべてのファイルを調べて、 定義されたパターンに一致するファイルを探します。ファイル・データ・プロバイダーは、一致するファイル名の中で最も大きい番号を持つものを判別するか、日時値に基づいて、常に最新の一致ファイルをモニターします。モニター対象とするファイルは、 ファイルの作成日時などの基準ではなく、ファイル名によって判別されます。

パターンは、任意の数の可変部分を持つファイル名に対して 指定できます。 例えば Log{###} は、Log010Log456 など、可変部分が 1 個所のファイル名の場合に 一致します。可変部分が複数のファイル名の場合、パターン文字は、 ファイル名の任意の部分 (つまり複数の可変部分) で指定できます。例えば、aaa.bbb{???}.ccc は 有効なパターンであり、aaa.bbb{???}.ccc{###} も有効です。

注: ファイル名のパターンを指定するには、動的ファイル名の構文ではなく、正規表現をお勧めします。正規表現について詳しくは、正規表現のファイル名パターンを参照してください。

ファイル名パターンの仕様を以下の例で説明します。

{########}.abc
長さが 8 でファイル拡張子が .abc の数字ファイル名に一致します (10252006.abc10262006.abc など)。10262006 は 10252006 より大きいため、 ファイル 10262006.abc がモニターされます。
{########}.*
長さが 8 の数字ファイル名に一致します。ファイル拡張子は 無視します。例えば 20061025.log20061101.log10252006.abc が該当します。 20061101 が最大であるため、ファイル 20061101.log がモニターされます。
{######??}.abc
長さが 8 でファイル拡張子が .abc の数字ファイル名に一致します。 名前部分の最後の 2 桁は無視します。例えば 02110199.abc02110200.abc021101AZ.abc が 該当します。021102 が最大であるため、ファイル 02110200.abc がモニターされます。
Console.{######}
名前部分に Console を含み、拡張子部分に 6 桁の 数値を含むファイル名に一致します。例えば Console.000133Console.000201Console.000134 が 該当します。ファイル Console.000201 がモニターされます。
IN{######}.log
IN で始まり、その後に 6 桁の数字およびファイル拡張子 .log が続く ファイル名に一致します。例えば IN021001.logIN021002.logIN021004.log が 該当します。ファイル IN021004.log がモニターされます。
PS{###}FTP.txt
PS で始まり、その後に 3 桁の数字が続き、さらに FTP および 拡張子 .txt が続くファイル名に一致します。例えば PS001FTP.txtPS005FTP.txtPS010FTP.txt が 該当します。ファイル PS010FTP.txt がモニターされます。
ファイル名のパターンを設定するには、以下のガイドラインに従ってください。
  • 中括弧 {} を使用してファイル名の中のパターン文字を囲みます。中括弧の中に パターン文字が存在することで、ファイル名のパターンが使用されていることが 示されます。
  • アスタリスク (*) は、ファイル拡張子またはファイル名の中のすべての後続文字を 無視するためにワイルドカードとして使用します。例えば、Myapp{###}.log* は、Myapp で始まり、その後に 3 桁の数字が続き、さらに .log が続くファイル名が、その後に続く文字に関係なくすべて一致することを示します。

    アスタリスクは、中括弧 ({ }) の後に指定しなければならず、 ファイル名の先頭で使用することはできません。ファイル名拡張子に アスタリスクを使用する場合は、アスタリスクを単独で 使用しなければなりません。

    正しいワイルドカード (*) の使用例を以下に示します。
    err{??}.*
    error{$}.*
    誤ったワイルドカード (*) の使用例を以下に示します。
    error.20*
    アスタリスク (*) の前に中括弧がありません。
    error*.{###}
    アスタリスクがファイル名の末尾で使用されていません。
    error.*
    アスタリスク (*) の前に中括弧がありません。
  • 特定のファイル拡張子を定義した場合は、それと同じ拡張子を持つ ファイルのみが考慮されます。
  • ファイル名の各数字要素を示すには、番号記号を使用します。
  • 疑問符は、命名規則の各要素のうち、 該当するファイル名を判別するときの検索基準として扱わない要素を 除外するために使用します。
  • ドル記号 ($) は、任意の文字または文字なしのいずれかを 表すために使用します。例えば、Log および LogA の 2 つのファイルに 一致させるには、Log{$} と指定します。ドル記号の使用には いくつかの制約があります。{$$$$$$}_abc.log のように 1 つ以上のドル記号をファイル名の前に記述した場合、ドル記号数は、ファイル名のその位置にある文字の数に正確に一致しなければなりません。また、ファイル名パターンの中で複数の位置にドル記号を指定することはできません。例えば、{$$$}b{$$$}.logabc.log に一致しません。ドル記号にはこのような制約があるため、ファイル名に含まれる文字の数が予測できない場合は、正規表現のファイル名パターンを使用してください。
  • 中括弧で囲んだ番号記号および疑問符の総数は重要です。これは、ファイル名の一部に正確に一致しなければなりません。 例えば、パターン AA{####} は、AA0001 などのファイルを 検索するようにファイル・データ・プロバイダーに指示します。AA001AA00001 などの ファイル名は考慮に入れられません。
  • 厳密なファイル名パターン (定数および数値部分) は、 ファイル名に正確に一致しなければなりません。例えば、パターン AA{###} は、ファイル AA101 を 検査するようにファイル・データ・プロバイダーに指示します。XAA101AA222XAA55555 などの ファイル名は考慮に入れられません。
  • 予約済みパターン・ストリング {TIVOLILOGTIME} は、Tivoli Monitoring の エージェントまたはサーバー・ログ・ファイルの 16 進タイム・スタンプおよび ファイル・シーケンス番号の代わりとして使用します。このパターン・ストリングは、Tivoli Monitoring コンポーネントの自己モニターを実行しているときに役立ちます。例えば、/opt/IBM/ITM/logs ディレクトリーにある最新の モニター・サーバー ログをモニターする場合は、以下のファイル名パターンを指定できます。
    /opt/IBM/ITM/logs/Host1_ms_{TIVOLILOGTIME}.log
    Host1_ms_452053c0-01.logHost1_ms_451f11f4-01.logHost1_ms_45205946-01.log、および Host1_ms_451f11f4-02.log/logs ディレクトリーに存在する場合は、Host1_ms_45205946-01.log ファイルがモニター対象として選択されます。

日付の構成要素 (年、月、および日) で構成されるファイル名を厳密に指定するには、 大文字の Y、M、および D を使用します。これらの文字は中括弧の中で 指定しなければなりません。さもなければ、ファイル名の中のリテラル文字として 扱われてしまいます。

以下に例を示します。

{YYYYMMDD}.log
20060930.log20061015.log などのファイル名を指定します。
{MMDDYY}.log
101106.log110106.log などのファイル名を指定します。
{DDMMYYYY}.log
01092006.log15082006.log などのファイル名を指定します。
{DDMMMYY}.log
24Jan0713Sep06 などのファイル名を指定します。
{MM-DD-YY}.log
11-02-06 や 04-29-07 などのファイル名を指定します。日付フィールドの分離文字 (-) は無視されるため、疑問符 (?) のパターン文字を使用してスキップする必要はありません。
MY{YYDDD}.log
MY06202.logMY06010.logMY04350.log などのファイル名を指定します。

複雑なケースになると、長いファイル名の内部に日付フィールドが埋め込まれていて、前の例に示した日付パターンでは不十分な場合があります。複雑なケースの場合、番号記号と疑問符を混在させたパターンを作成して数値比較を実行し、最新のファイルをモニター対象として選択することができます。例えば、パターン ABC{?####?##?##?##?##?##?}XYZ.TXTABC 2006-04-20 11_22_33 XYZ.TXT などのファイル名に対して使用できます。この例では、#- で示した桁のみを対象にしており、疑問符はプレースホルダーとして機能して、ファイル名の中の他の文字を無視します。

ファイル・データ・プロバイダーは、定義されたファイル・パターンに一致する新しいファイルがないか、 ターゲットのパス・ロケーションを定期的に検査します。パターンに一致する 新しいファイルを検出すると、ファイル・データ・プロバイダーは、アプリケーションのモニターを その新しいファイルに自動的に切り替えます。ファイル・データ・プロバイダーは、 以下の場合に最良一致を検索します。
  • ファイル・データ・プロバイダーが最初に開始した。
  • 現在のモニター対象のファイルが存在しなくなった (多くの場合は名前変更や削除が原因)。
  • 既存のファイルの内容が変更された (多くの場合は再書き込みが原因)。
  • 検査間隔が経過した。デフォルトの間隔は 10 分です。 環境変数を指定することで、 間隔を長い値または短い値に変更できます。
    KUMP_DP_FILE_SWITCH_CHECK_INTERVAL=number-of-seconds