さまざまなテキストログ監視を最適化したい

現状の課題

最近では全ての機能を作り込むシステムは非常にまれであり、共通となる部品を
他社から調達し、必要な箇所のみを自社で構築するようになってきた。

テキストログファイルの差異の問題

OS・ミドルウエア・自社アプリケーションそれぞれの稼働状況を監視する必要があるが、
そのテキストログファイルはさまざまな種類があり形式も異なる。
一つは文字コードの違いだ。あるアプリケーションはシフト JIS で出力し、あるミドルウエアは UTF-8 で出力するなど、
開発ベンダーが異なると使用している文字コードもまちまちとなり、同じサーバ内で複数の文字コードが使われることとなる。

同じ設定で監視できない

ログファイルの切り替え方(シフト方法)が異なることもある。ファイルをリネー ムしてから新しいファイルを作成する場合や、
ファイルをコピーした後に元のファイ ルを 0 バイトに切り詰める場合、または最新のログファイル名に当日の日付が入るものもある。
このように一言にログファイルといっても同じ設定では監視できない。それぞれに 合った設定が必要となる。

解決策

監視するサーバの文字コードと異なる文字コードのアプリケーションログを監視する場合は、文字コード変換を行う。
その際、特定の範囲の文字コードに関しては事前 に任意の文字に変換し、文字コードの変換でエラーが発生するのを防ぐ処理が必要となる。
これにより、文字コードにかかわらずサーバ内に出力されるログファイルの監視が可能だ。

ログファイルのシフト方法は、OS・ミドルウエア・アプリケーションごとの仕様に合わせて設定する。
ファイルがリネームされる場合やファイルをコピーする場合は、 監視対象ファイル名が常に固定であり特別な設定は不要である。
だが、監視対象ファイル名が動的に変化する場合は、毎回新たなファイル名が監視対象に含まれるよう正規表現を使用する。
この場合も意図しないログファイルが監視対象とならないように、 できる限り条件を絞り込んでおくことが必要だ。

ログファイルのシフト方法

1 台のサーバ内に複数の文字コード

アプリケーション A SJIS
ミドルウエア B UTF-8

Senju で監視できる文字コード

Shift JIS UTF-8
EUCB UTF-16LE

ログファイルのシフト方法

Senju Family での実践方法

「文字コード指定」、「ログのシフト方法」機能

ログ監視は漏れなくダブりなく行うことが重要である。前述のようにファイルのリネームやコピーに追随し監視するとともに、
新しく作成されるファイルの中身も監視すべきである。
これらは Senju Operation Conductor の「文字コード指定」「ログのシフト方法」機能により可能となる。文字コード指定機能は、文字コード変換時にエラーがあっても、次の文字からコード変換を行う。
その他、リトライ回数も詳細に設定することが可能である。ログのシフト方法機能は、いずれのシフト方法にも対応している。

「正規表現でのファイル監視」機能

また、アプリケーションの出力ファイル名が次々と変わるような場合、
「正規表現 でのファイル監視」機能を利用することにより、最新のファイルにも追随した監視を実現できる。

システム監視Tips

  • お問い合わせの電話番号
  • お問い合わせの電話番号2
  • お問い合わせフォーム
to top