▶ セイ・テクノロジーズ コーポレートサイトはこちら

サポート情報番号 000181
対象バージョン BOM 7.0 (全 SR), BOM 6.0 (全 SR), BOM 5.0 (全 SR)

[詳細]
イベントログ監視、およびテキストログ監視における、メッセージの検索、あるいは除外にはキーワードを5個までしか指定できません。
これはBOMの仕様による制限です。

[対処方法]
キーワードを6個以上利用したい場合、正規表現を使用することで対応することができます。
以下に、一般的な監視で利用できる正規表現の構文をご案内します。
※文字の色は説明のためにつけているものです。

1.論理積(AND)
論理積は、指定した複数のキーワードが、全て見つかった時に検知します。

キーワードとして「文字列1」、「文字列2」、「文字列3」を指定する場合、以下のように記述します。

^((?=.*文字列1)(?=.*文字列2)(?=.*文字列3)).*$

その際、以下のテキストは検知されます。

テキスト内に文字列1と文字列2と文字列3が記載されたメッセージ

以下のテキストは検知されません。

テキスト内に文字列1と文字列2と文字列4が記載されたメッセージ

なお、「(?=.*文字列)」を増やすことで、より多くの文字列を検出対象にすることができます。

^((?=.*文字列1)(?=.*文字列2)(?=.*文字列3)(?=.*文字列4)).*$

2.論理和(OR)
論理和は、指定した複数の文字列について、そのいずれかが見つかった時に検知します。

キーワードとして「文字列1」、「文字列2」、「文字列3」を指定する場合、以下のように記述します。

^(((?=.*文字列1)|(?=.*文字列2)|(?=.*文字列3))).*$

その際、以下のテキストは検知されます。

テキスト内に文字列1と文字列2と文字列3が記載されたメッセージ

以下のテキストは検知されません。

テキスト内に文字列4と文字列5と文字列6が記載されたメッセージ

なお、「|(?=.*文字列)」を増やすことで、より多くの文字列を検出対象にすることができます。

^(((?=.*文字列1)|(?=.*文字列2)|(?=.*文字列3)|(?=.*文字列4))).*$

3.否定論理積(NAND)
否定論理積は、指定した複数の文字列について、全てが見つかった時には検知しません。(指定した文字列のうち、いずれかを含まなければ検知します)

キーワードとして「文字列1」、「文字列2」、「文字列3」を指定する場合、以下のように記述します。

^(((?!.*文字列1)|(?!.*文字列2)|(?!.*文字列3))).*$

その際、以下のテキストは検知されます。

テキスト内に文字列1と文字列2と文字列4が記載されたメッセージ

以下のテキストは検知されません。

テキスト内に文字列1と文字列2と文字列3が記載されたメッセージ

なお、「|(?!.*文字列)」を増やすことで、よりメッセージを絞り込むことができます。

^(((?!.*文字列1)|(?!.*文字列2)|(?!.*文字列3)|(?!.*文字列4))).*$

4.否定論理和(NOR)
否定論理和は、指定した複数の文字列について、そのいずれかが見つかった時には検知しません。(指定した文字列を、全て含まなければ検知します)

キーワードとして「文字列1」、「文字列2」、「文字列3」を指定する場合、以下のように記述します。

^((?!.*文字列1)(?!.*文字列2)(?!.*文字列3)).*$

その際、以下のテキストは検知されます。

テキスト内に文字列4と文字列5と文字列6が記載されたメッセージ

以下のテキストは検知されません。

テキスト内に文字列1と文字列3と文字列4が記載されたメッセージ

なお、「(?!.*文字列)」を増やすことで、よりメッセージを絞り込むことができます。

^((?!.*文字列1)(?!.*文字列2)(?!.*文字列3)(?!.*文字列4)).*$

5.組み合わせ
それぞれの論理構文を組み合わせて使用することができます。

共通項(「^(」及び「).*$」)で囲い、さらに個別の特出項(論理和及び否定論理積の「(」と「)」)があればそれを囲ったうえで、個別の指定を行います。
以下に、組み合わせの例を挙げます。

論理和と否定論理和
文字列1、文字列2のいずれかを検知するが、文字列4、文字列5のいずれかが含まれる場合は除きたいという場合、以下のように記述します。

^(((?=.*文字列1)|(?=.*文字列2))(?!.*文字列4)(?!.*文字列5)).*$

その際、以下のテキストは検知されます。

テキスト内に文字列1と文字列3が記載されたメッセージ
テキスト内に文字列2と文字列3が記載されたメッセージ

以下のテキストは検知されません。

テキスト内に文字列2と文字列5が記載されたメッセージ
テキスト内に文字列6と文字列7が記載されたメッセージ

論理積と論理和
文字列1、文字列2の両方を含み、かつ文字列4、文字列5のいずれかを含む場合に検知したいという場合、以下のように記述します。

^((?=.*文字列1)(?=.*文字列2)((?=.*文字列4)|(?=.*文字列5))).*$

その際、以下のテキストは検知されます。

テキスト内に文字列1と文字列2と文字列4が記載されたメッセージ
テキスト内に文字列1と文字列2と文字列5が記載されたメッセージ

以下のテキストは検知されません。

テキスト内に文字列1と文字列2と文字列3が記載されたメッセージ
テキスト内に文字列1と文字列4と文字列5が記載されたメッセージ

[補足事項]
正規表現の具体的な記述方法はサポート対象外です。本技術情報に関する個別のお問い合わせについてはお受けいたしかねます。
また、本技術情報を活用するには、正規表現に関する基礎知識が必要となりますので、ご注意ください。

[更新履歴]
2010年 7月21日 公開
2019年 4月15日 BOM 7.0 を対象に加えて更新

関連記事