3

https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-elk-stack-on-centos-7経由でELKサーバーをインストールしました

filebeat 接続以外は機能しているようです。filebeat は何も転送していないように見えます。少なくとも、何かが起こっていることを示すログが見つかりません。

私のファイルビート構成は次のとおりです。

filebeat:
  prospectors:
    -
  paths:
     - /var/log/*.log
     - /var/log/messages
     - /var/log/secure
  encoding: utf-8
  input_type: log
  timeout: 30s
  idle_timeout: 30s
  registry_file: /var/lib/filebeat/registry
output:
  logstash:
    hosts: ["my_elk_fqdn:5044"]
    bulk_max_size: 1024
    compression_level: 3
    worker: 1
    tls:
      certificate_authorities: ["/etc/pki/tls/certs/logstash-forwarder.crt"]
shipper:
logging:
  to_files: true
  files:
    path: /var/log/filebeat
    name: filebeat.log
    rotateeverybytes: 10485760 # = 10MB
    keepfiles: 7
  level: debug

filebeat から取得し続けるログ ファイル出力は、あまり役に立ちません。

2016-07-14T17:32:21-04:00 DBG  Start next scan
2016-07-14T17:32:31-04:00 DBG  Start next scan
2016-07-14T17:32:41-04:00 DBG  Start next scan
2016-07-14T17:32:46-04:00 DBG  Flushing spooler because of timeout. Events flushed: 0
2016-07-14T17:32:51-04:00 DBG  Start next scan

構成ファイルに何か問題がありますか?

ELK サーバーでテストして、何かが得られるかどうかを確認すると、次のようになります。

[root@my_elk_server ~]# curl -XGET 'http://localhost:9200/filebeat-*/_search?pretty'
{
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 0,
    "successful" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : 0,
    "max_score" : 0.0,
    "hits" : [ ]
  }
}

ああ、filebeats のログスタッシュ構成:

input {
  beats {
    port => 5044
    ssl => true
    ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
    ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
  }
}

更新: ファイルビートではありません。メッセージが実際に渡されていることにいくらか安心しましたが、追跡できない問題がまだあります。

問題を引き起こしているのは filebeat ではないことを発見しました。質問に示されているように、elasticsearch に送信する logstash の構成ファイルがインデックス (およびタイプ) を適切にラベル付けして検索可能にしていないようです。インデックス名に filebeat を入れる代わりに、次のような結果が得られます。

"_index" : "%{[@metadata][beat]}-2016.07.14",

ファイルに入れられたelasticsearchの出力は、

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

どうやら、この @metadata が正しく渡されていません。_index フィールドと _type フィールドを正しく設定できた人はいますか?

これは filebeat のバグでしょうか?? https://github.com/logstash-plugins/logstash-input-beats/issues/6

4

0 に答える 0