1

ELKスタックは初めてです。Windows(ELKサーバー)とVagrant Unix CentOS VM(Filebeat Shipper)を使用して実装しようとしています

手始めに、Unix SyslogをELKサーバーに出荷して、それがどのように機能するかを確認しようとしています

Windows マシンで Logstash の central.conf ファイルを次のように構成しました。

input{

beats{
    port => 5044
    }  
}

output{

stdout{ }

elasticsearch{ 
     hosts => ["http://localhost:9200"] }

  }

Unix (CentOS - 7) 上の Filebeat YAML は次のように構成されます。

filebeat:
prospectors:
-
paths:
-"/var/log/*.log"
input_type: log
document_type: beat
registry: "/var/lib/filebeat"
output:
logstash:
hosts: ["127.0.0.1:5044"]
logging:
to_files: true
files:
path: "/var/log/filebeat"
name: filebeat.log
rotateeverybytes: 10485760
level: debug 

Elasticsearch と Logstash が Windows マシンで正しく実行されている

私は現在、次の2つの問題に直面しています。

1. Unix で filebeat shipper を実行しようとすると、以下のエラーが表示されます

[root@localhost filebeat]# filebeat -e -v -c filebeat.yml -d "*"
2016/05/08 11:07:00.404841 beat.go:135: DBG Initializing output plugins
2016/05/08 11:07:00.404873 geolite.go:24: INFO GeoIP disabled: No paths were set under output.geoip.paths
2016/05/08 11:07:00.404886 publish.go:269: INFO No outputs are defined. Please define one under the output section.
Error Initialising publisher: No outputs are defined. Please define one under the output section.
2016/05/08 11:07:00.404902 beat.go:140: CRIT No outputs are defined. Please define one under the output section.

2. Logstash ログを見たとき、「127.0.0.1:5044」ではなく「0.0.0.0:5044」で Beats 入力をリッスンしようとしていることがわかりました。

{:timestamp=>"2016-05-08T16:36:07.158000+0530", :message=>"Beats inputs: Starting input listener", :address=>"0.0.0.0:5044", :level=>:info}

これら2つの問題は相互に関連していますか、どうすれば解決できますか、誰かが私を助けて、これを機能させるために正しい方向に向けてください。

あなたが提供できる助けに本当に感謝します。

4

1 に答える 1

2

エラーは言う:

出力は定義されていません。出力セクションの下に定義してください。

あなたのyamlファイルが質問と同じなら、それは間違っています。yamlではインデントが重要だからです。次のようにする必要があります。

...
output:
  logstash:
    hosts: ["127.0.0.1:5044"]
...
于 2016-05-08T20:55:53.710 に答える