2017-11-08 13 views
0

プログラムログを制御するのにELKを使用しています。 FileBeatの設定では、の異なるから1秒ごとに更新されるファイルが含まれています(prodのマシンでのみ毎秒更新されます)。 ログファイルが古くなるまで削除されず、ログファイルの使用が停止されます(名前は変更されません)。 最近、私たちは、プロダクトマシンのコンフィギュレーションファイル(.yml)の最後のパスのログがKibanaに表示されないことを確認しました。FileBeat収穫の問題

調査の結果、FileBeatがファイルに貼り付けられていることが最初のパスであり、最後のファイルに到達しないようになったことがわかりました。最後の2つのパスの場所を先頭に置き換えると、FileBeatはそこにすべてのログを登録し、後でそれらを収集し始めました。

私はFileBeat設定のドキュメントを調べました。クローズ*オプションclose_option_configが良いアイデアのようです。しかし、私はまだそれを手に入れることができませんでした。なぜなら、scan_frequencyオプションの推奨時間は何であるのか分かりません(今のところデフォルトは10秒です)。

私はこの問題を解決するため取得するために何を行うことができますいくつかの意見をここにしたい?15秒にclose_timeoutを変更しようとscan_frequency

2メートルに
 close_timeout: 15s 
     scan_frequency: 2m 

私はここに設定を書いて、何か参考にして、他に何かを見逃しているかどうかを見ました。

私filebeat.yml:長い調査の後(変更前)

 filebeat: 
    # List of prospectors to fetch data. 
    prospectors: 
    # Each - is a prospector. Below are the prospector specific configurations 
    - 
     paths: 
     - D:\logs\*\path1\a_*_Pri_app.log.txt 
     input_type: log 
     document_type: type1 
     multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}' 
     multiline.negate: true 
     multiline.match: after 
    - 
     paths: 
     - D:\logs\*\path2\b_*_Paths_app.log.txt 
     input_type: log 
     document_type: type2 
     multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}' 
     multiline.negate: true 
     multiline.match: after 
    - 
     paths: 
     - D:\logs\*\path3\c_*_R_app.log.txt 
     input_type: log 
     document_type: path3 
     multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}' 
     multiline.negate: true 
     multiline.match: after 
    - 
     paths: 
     - D:\logs\*\path4\d_*_d_app.log.txt 
     - C:\logs\*\path4\d_*_d_app.log.txt 
     input_type: log 
     document_type: path4 
     multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}' 
     multiline.negate: true 
     multiline.match: after 

.....上記

と同じ
paths: 
     - D:\logs\*\path27\S.Coordinator_Z.*.log* 
     - C:\logs\*\path27\S.Coordinator_Z*.log* 
     input_type: log 
     document_type: path27 
     multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}' 
     multiline.negate: true 
     multiline.match: after 
    - 
     paths: 
     - D:\logs\*\path28\d_*_Tr_app.log.txt 
     - C:\logs\*\path28\d_*_Tr_app.log.txt 
     input_type: log 
     document_type: path28 
     multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}' 
     multiline.negate: true 
     multiline.match: after 
    - 
     paths: 
     - D:\logs\*\R1_Output\R*\pid_*_rr_* 
     input_type: log 
     document_type: path29 
     multiline.pattern: '<\?xml version="1\.0" encoding="UTF-8"\?>' 
     multiline.negate: true 
     multiline.match: after 
    - 
     paths: 
     - D:\logs\*\R2_Output\R*\pid_*_rr_* 
     input_type: log 
     document_type: path30 
     multiline.pattern: '<\?xml version="1\.0" encoding="UTF-8"\?>' 
     multiline.negate: true 
     multiline.match: after 

     registry_file: "C:/ProgramData/filebeat/registry" 

答えて

0

私は何にも同様の問題を見つけることを試みました私はの解決策を持っていました。そして、私の運をジクルス弾性フォーラムで試してみました。 私はこの問題を解決することができました。

ウェブでこのオプションが表示されなかったので、ここに入れています。

ファイルビートハーベスティングシステムは、同時に開いているファイルの大きな数を扱うときには明らかに制限があります。 (既知の問題と弾力性のあるチームは、この問題を解決し、ELKをあなたの必要に応じて援助するための設定オプションを提供しています(例:config_options)。サービスが相まってFilebeatを働いているため、このように

paths: 
    - D:\logs\*\pid_*_rr_* 
    input_type: log 
    document_type: A 
    multiline.pattern: '<\?xml version="1\.0" encoding="UTF-8"\?>' 
    multiline.negate: true 
    multiline.match: after 
    close_eof: true 

: は、私は私が(同じの例は、Bに行く)、次のように彼らの探鉱者を設定する開口部2つのよりFilebeatサービスと私の問題を解決するために管理しましたそれらを操作しようとし続ける(そして、最初の探鉱者には "つまらない"ではない)。

私はこのようにして収穫能力を倍増させます。

エラスティックウェブサイトで議論する: the discussion

関連する問題