SCOM Linux ログ監視にて利用可能な正規表現について

こんにちは、日本マイクロソフト System Center Support Team の三輪です。

 

本日は、SCOM 2012 R2 / SCOM 2016 にて、Linux サーバーのログ監視を行う際、利用可能な正規表現についてご案内致します。

 

SCOM では、 Linux ログ監視を行う際、SCOM コンソール上でログ監視にて、以下の様に利用する正規表現のチェック、テストを行ことが可能です。

ここで利用される正規表現は、Windows 上に実装されている .NET Regex に基づく正規表現が利用されます。

 

ご参考: System Center Operations Managerでの正規表現のサポート

https://support.microsoft.com/ja-jp/help/2702651/regular-expression-support-in-system-center-operations-manager

 

一方で、Linux ログ監視を実際に行う Linux Agent では、上記 .Net Regex に基づいた正規表現ではなく、POSIX Basic Regexp engine (BRE) が利用されます。

 

ご参考: POSIX Basic Regular Expressions https://www.regular-expressions.info/posix.html#bre

※弊社公式サイトではございません。

 

”ログ ファイル式のテスト” で利用される正規表現と、Linux サーバー上でログ監視に利用される正規表現が異なっていることになります。

このため、”ログ ファイル式のテスト” にて正常に検出が出来た正規表現を利用しているにもかかわらず、実際の Linux ログ監視では正常に検出されない、ということが起こりえます。

 

正確に正規表現のテストを行うためには、監視対象の Linux サーバー上で、以下のコマンドを利用して BRE による正規表現をチェックします。

 

> grep -G