使用Logstash导致CSV文件问题

时间:2016-02-10 18:15:41

标签: csv elasticsearch logstash kibana

我有一个CSV文件,我想在我的弹性搜索中导入它。

我在Windows 10上,我也有一个Kibana能够在导入后浏览数据。我使用Logstash尝试进行此导入。

我的所有服务(Kibana,ES和Logstash)都在我的本地主机上运行。

我尝试使用以下Logstash配置文件(我的csv文件位于正确的路径中):

input {
  file {
    path => ["E:\Programmes\Logstash\logstash-2.2.0\data\*.csv"]
    start_position => "beginning"
  }
}

filter {
  csv {
    columns => ["billing_entity","invoice","company","username","reference","line_number","recipient_number","zone","network","date","time","country","duration","cost","currency","call_origin","billing_type"]
    separator => ";"
  }

  #grok {
  # match => { "call" => "%{WORD:billing_entity} %{WORD:invoice} %{WORD:company} %{WORD:username} %{WORD:reference} %{NUMBER:line_number} %{NUMBER:recipient_number} %{WORD:zone} %{WORD:network} %{DATE:date} %{TIME:time} %{WORD:country} %{WORD:duration} %{NUMBER:cost} %{WORD:currency} %{WORD:call_origin} %{WORD:billing_type}" }
  #}
}

output {
  elasticsearch {
    action => "index"
    index => "call_samples"
    #index => "call-%{+YYYY.MM.dd}"
    hosts => "localhost"
    workers => 1
  }
}

如您所见,我尝试使用' csv '或' grok '过滤器。

然后我使用此配置文件以详细模式logstash启动:

logstash.bat -f ..\conf\logstash.conf -v > logfile.txt

编辑:每次尝试后,我都会删除生成的sincedb文件以模拟更改。但无论如何我注意到它们是空的

但在日志中,我认为没有相关内容:

  

message =>“使用映射模板”   message =>“正在尝试安装模板”   message =>“新Elasticsearch输出”   message =>“注册文件输入”   message =>“没有设置sincedb_path,生成o ....   message =>“使用来自...的映射模板   message =>“正在尝试安装模板”   message =>“新Elasticsearch输出”   message =>“正在启动管道”   message =>“管道已启动”

完全相同我的文件被忽略....我还尝试了几个索引等...它永远不会导入数据。

要检查数据是否存在,我在localhost:9200上进行查询,或者使用索引“call_samples”浏览Kibana搜索栏“索引名称或模式”。

有人可以帮我吗?我在这一点上陷入困​​境......谢谢

编辑2 : 好吧,我对这个很笨,我只是想在启动logstash时将日志流重定向到一个文件:

logstash.bat -f ..\conf\logstash.conf -v > logfile.txt

但它可能会破坏导入的输入文件。所以我刚删除了我重定向文件的部分:

logstash.bat -f ..\conf\logstash.conf -v

现在,我的索引已正确创建,但没有导入数据......

1 个答案:

答案 0 :(得分:0)

这是一个编码问题,即使在详细模式下,也从未告诉我它失败了什么......甚至没有一点线索。

所以我测试了一个用UTF-8编码的新测试文件,它运行良好......