2016-05-16 3 views
0

私はlogstashがインストールされているいくつかのWebサーバを持っており、logstashもインストールされているログサーバを持っています。ログを別のログ・スタッシュに転送するようにlogstashを設定するにはどうすればよいですか?

ウェブサーバー/var/log/nginx/*logにlogstashを使用してログサーバーを転送します。出来ますか?

Webサーバ:

input { 
    file { 
    path => "/var/log/nginx/*log" 
    } 
} 
output { 
    tcp { 
    host => "log.server.ip" 
    port => 12345 
    } 
} 

ログサーバ:

input { 
    tcp { 
    port => 12345 
    } 
} 
output { 
    stdout { 
    codec => "rubydebug" 
    } 
} 

が、何のログが転送されません。

答えて

2

これを行うための正しい方法は、ログサーバー上のbeats input pluginとWebサーバーとLogstash上logstash-forwarderまたは好ましく最新Filebeat(logstash-フォワーダの交換)ツールを使用することです。

ように、Webサーバー上のFilebeatの構成は次のようになります。

filebeat: 
    # List of prospectors to fetch data. 
    prospectors: 
    # Each - is a prospector. Below are the prospector specific configurations 
    - 
     paths: 
     - "/var/log/nginx/*.log" 
     document_type: weblog 
     fields: 
     service: nginx 

output: 
    logstash: 
    # The Logstash hosts. 
    hosts: 
     - log.server.ip:12345 

し、ログサーバー上のLogstashの設定を使用すると、しない場合は、この

input { 
    beats { 
    port => 12345 
    } 
} 
output { 
    stdout { 
    codec => "rubydebug" 
    } 
} 

ようになります。既存のLogstashを活用したいのでWebサーバーにFilebeatをインストールすることも可能です。

input { 
    file { 
    path => "/var/log/nginx/*log" 
    } 
} 
output { 
    lumberjack { 
    hosts => "log.server.ip" 
    port => 12345 
    ssl_certificate => "/path/to/certificate.pub" 
    } 
} 

そして、あなたのログサーバー上で、あなたがlumberjack inputを使用する必要があるだろう:

input { 
    lumberjack { 
    port => 12345 
    ssl_certificate => "/path/to/certificate.cer" 
    ssl_key => "/path/to/certificate.key" 
    } 
} 
output { 
    stdout { 
    codec => "rubydebug" 
    } 
} 
Webサーバー上のLogstash構成は次のよう lumberjack outputを使用する必要があります
関連する問題