2016-09-27 12 views
0

私は、次のlogstash.configファイルを持っている:はサービスとしてlogstash実行できません

input { 
    file { 
     path => "/home/username/log-stream-test.log" 
     start_position => "beginning" 
     sincedb_path => "/dev/null" 
    } 
} 
output { 
    file { 
     path => "/tmp/log-stream-output.log" 
    } 
} 

私は、configファイルを強制的にlogstash実行することができます(これは、出力ファイル/tmp/log-stream-output.logを作成します) : /opt/bin/logstash -f /etc/logstash/conf.d/logstash.config

しかし、私がサービス(sudoサービスlogstash start)としてlogstashを実行しようとすると、出力ファイルがありません創造された)。 I(アクティブ--debugオプション付き)、尾は/ var/log/logstash /私のようないくつかのメッセージを取得する場合:

{:timestamp=>"2016-09-27T19:05:03.898000+0000", :message=>"Reading config file", :config_file=>"/etc/logstash/conf.d/logstash.config", :level=>:debug, :file=>"logstash/config/loader.rb", :line=>"69", :method=>"local_config"} 
{:timestamp=>"2016-09-27T19:05:04.026000+0000", :message=>"Plugin not defined in namespace, checking for plugin file", :type=>"input", :name=>"file", :path=>"logstash/inputs/file", :level=>:debug, :file=>"logstash/plugin.rb", :line=>"86", :method=>"lookup"} 

を私は何かが足りないのですか?この設定ファイルでlogstashをサービスとして実行するにはどうすればよいですか?

+0

これらのログがデバッグログではなく、エラーログ、そう何、あなたはそれが動作しないということだと思いますか? – Val

+0

デバッグログはログの最下位レベルであり、メッセージはアプリケーションの通常の使用には関係ありません。 – baudsp

+0

Logstashでログファイルをすでに読んでいて、その後にファイルが更新されなかった場合、Logstashは停止した場所を記憶しているので、何も読み込むことはありません(cf https://www.elastic.co/guide/en /logstash/current/plugins-inputs-file.html#_tracking_of_current_position_in_watched_files)。 – baudsp

答えて

1

これはほとんどの場合、アクセス許可の問題です。 logstashを手動で実行するときは、ユーザーとして実行します。サービスとして実行する場合、logstashユーザーとして実行されます。あなたは、ファイルへのアクセス権を持っている

テスト:

sudo -u logstash /bin/bash 

これはlogstashユーザとしてシェルへのログインが行われます。試してみようとするファイルの数を少なくしてください。あなたがアクセス権を持っていない場合は、How to force Logstash to reparse a file?

どこどこのファイルを移動する:あなたがアクセス権を持っている場合

、あなたのsincedbファイルをチェックし、再起動(を/ dev/nullへのパスを設定)する必要があります、ご覧ください彼らはアクセス権を持っています。または、logstashユーザー/グループへの読み取りアクセスを許可します。

よろしく、

アルトゥル

+0

そうですよ!私のファイル/home/username/log-stream-test.logには誰もがそれを読む権限がありましたが、サブディレクトリ/ home/username /には所有者(ユーザ名)にしかアクセス権がありません。ありがとう! – Danilo

関連する問題