【Hinemos】 syslog-ng監視がマッチングする文字列の範囲

投稿日: / 更新日:

Hinemos(ver3.2.x)でsyslog-ng監視を行う場合、マッチングする正規表現のパターンを設定する必要があります。ここで、パターンマッチングは完全一致として行われる、ということに注意する必要があります。

syslog-ng監視では、syslog-ngへ送られたログメッセージのうち、以下の部分についてマッチングが行われます。

例えば、以下のメッセージでは、

それぞれ、以下の部分がマッチングの対象です。

注意: 最後のケースでは、シングルクォートの前にバックスラッシュが付加され、これも含めてマッチさせる必要があります(このことは、Hinemosのマニュアルに明記されています)。

上記のメッセージに対して、できるだけ厳密にマッチさせたい場合は、マッチングパターンをそれぞれ以下のように設定します。

完全一致ですので、パターンの前後を^$で囲む必要はありません。また、よりカジュアルにマッチングを行いたい場合は、パターンの前や後に.*を配置します。

ちなみに、リテラルのホワイトスペースは、そのままマッチングパターンとして評価されます。バックスラッシュでエスケープする必要はありません。

なお、他のホストからマネージャホストへ送信されたsyslogメッセージは、通常はそのままSyslogForwardプロセスへ渡されるため、内容を確認することができません。どのような文字列が送られてきたかを確認したい場合は、以下のような2つのsyslog-ng監視を追加します。

上記の設定により、未登録ノードを含む全てのノードの、全てのsyslogメッセージについてイベント通知が作成されるようになります。イベント通知の「オリジナルメッセージ」には、マネージャが受信したsyslogメッセージが格納されています(厳密には、syslog-ngからSyslogForwardプロセスへ渡されたメッセージが格納されています)。syslog-ng監視でうまくログを検知できない時は、一時的に上記の設定を追加して、オリジナルメッセージを詳しく調査することで、問題を解決できる場合があります。

以上、Hinemosのsyslog-ng監視に関する話題を簡単にご紹介しました。

最新情報発信中

Twitterやメルマガでも、Hinemosの保守、
開発、導入、構築やカスタマイズ等の
お役立ち情報を発信しています。
是非ご登録ください。