[英]Issue importing CSV file with Logstash
我有一個CSV文件,我想將其導入到我的Elastic Search中。
我在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 =>“未設置任何db_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
現在,我的索引已正確創建,但是沒有導入任何數據...
這是一個編碼問題,即使在冗長的模式下,它也從未告訴我它失敗了或什么……甚至沒有一點線索。
因此,我使用了以UTF-8編碼的新測試文件進行了測試,效果很好...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.