2

すべての index を削除したため、この問題に直面しています。そのために、次のコマンドを実行しました

curl -XDELETE 'http://localhost:9200/*' 

ファイルビート.yml

filebeat:
  prospectors:
    -
     paths:
      - /var/log/syslog
    - input_type : log
      document_type: syslog
  registry_file: /var/lib/filebeat/registry
output:
  logstash:
    hosts: ["127.0.0.1:5044"]
    bulk_max_size: 1024

shipper:
logging:
  files:
    rotateeverybytes: 10485760 # = 10MB

およびlogstash構成ファイル入力構成

   input {
      beats {
        port => 5044
      }
    }

および出力設定

  output {
      elasticsearch {
        hosts => ["localhost:9200"]
        sniffing => true
        manage_template => false
        index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
        document_type => "%{[@metadata][type]}"
      }
    }

問題は、ログが logstash を介して送信されないことです。kibana に追加された新しいフィールドが表示されず、apche-access ログの場合、タイプの値としてログのみが存在するため、これらは直接送信されます。

4

2 に答える 2

3

Filebeat の設定に構文エラーがある可能性があります。変更してみてください。

 - input_type : log

input_type : log

これ-は間違いなく、2 番目のプロスペクターを宣言することで構成を台無しにする可能性があります。すべての logstash 処理がタイプごとに行われる場合、不適切にタイプされたログは、解析を行わずに logstash を介して Elasticsearch に到達します。

于 2016-07-12T15:59:36.583 に答える
-1

構成ファイルが示すように、elasticsearch の出力構成はコメントアウトされています。したがって、受け取っている出力はelasticsearchによるものではなく、logstashによるものでなければなりません。コメントとして追加しましたが、これを行う必要があります。

elasticsearch:
# Array of hosts to connect to.
# Scheme and port can be left out and will be set to the default (http and 9200)
# In case you specify and additional path, the scheme is required: http://localhost:9200/path
# IPv6 addresses should always be defined as: https://[2001:db8::1]:9200
   hosts: ["localhost:9200"]
于 2016-07-12T14:27:33.587 に答える