filebeat将日志直接发送到弹性搜索而不是logstash

时间:2016-07-12 12:50:57

标签: logstash elastic-stack filebeat

我因为删除了所有索引而面临这个问题。为此,我执行了以下命令

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

filebeat.yml

   input {
      beats {
        port => 5044
      }
    }

和logstash配置文件输入配置

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

并输出配置

filter

问题是日志不是通过logstash来的,这些是直接来的,因为我看不到在kibana中添加的新字段,并且在apche-access日志的情况下,只有log作为类型的值。

2 个答案:

答案 0 :(得分:2)

您的Filebeat配置中可能只有语法错误,请尝试更改

 - input_type : log

input_type : log

-肯定会通过声明第二个探测器来搞乱你的配置。如果您的所有logstash处理都按类型完成,那么您输入的不正确的日志将通过logstash进行弹性搜索而不进行解析。

答案 1 :(得分:-1)

如配置文件所示,您已注释掉elasticsearch输出配置。因此,您收到的输出不是因为弹性搜索必须是因为logstash。您已将其添加为注释,但应该这样做:

foreach (dataGridViewColumn col in dataGridView1.Columns
{
    if (col.GetType() == typeOf(Double)
     {
         // Perform data conversion from e.g 22.56 to scientific
     }
 }