web-dev-qa-db-ja.com

ログの最後の10分間だけを見て、ステートメントのgrepを行う方法

このような行フォーマットのWebLogicログファイルの最後の10分間だけを調べる方法を探しています。

####<Sep 21, 2018 1:56:20 PM EDT> <Notice> <Stdout>

特定の文字列をgrepしたいのですが、失敗した場合は60秒待ってから再試行してください。これはRHEL 7の場合であり、sed、awkなどを使用できます。

2
Robert Foster

過去10分の要件を緩和し、GNU coreutilsとgrepを使用する場合、これは非常に簡単です。

tail -f -s 60 -n +0 file.txt | grep -m 1 pattern

行全体(-n +0)から開始してファイル全体を末尾に移動し、-s秒ごとにポーリングします。-mが一致すると、grepが停止します。

1回限りのインタラクティブな検索では、日付の解析を気にせず、最初にtail -nで開始行を手動で変更します。日付の解析は、適切なモジュール(Python、Perl)を使用して、お好みのスクリプト言語でスクリプトを作成することで可能です。

最後に、ログの検索エンジンが必要な場合は、Graylog、ELK、Splunk、Log Insight、LogRhythmなどのイベント管理システムを実装してください。

0
John Mahowald