通过以下方式安装ELK服务器:https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-elk-stack-on-centos-7

它似乎工作除了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" : [ ]
  }
}

哦,我的logbeats的logstash配置:

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