У меня есть файл CSV, и я хочу импортировать его в свой Elastic Search.Ошибка импорта CSV-файла с помощью Logstash
Я нахожусь в 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
EDIT: после каждой попытки, я удалить сгенерированные sincedb файлы для моделирования изменений. Но в любом случае я заметил, что они пустые
Но в журналах я ничего не вижу соответствующее:
сообщения => «Используя шаблон отображения из» сообщения => «Попытка установить шаблон» сообщение =>» New Elasticsearch output " message =>" Регистрация ввода файла " message =>" Нет sincedb_path set, генерация o .... message => "Использование шаблона сопоставления из ... message =>" Попытка установить шаблон " сообщение => «Новый выход для эмалирования» message => «Пусковой трубопровод» message => «Pipeline start»
Совсем как мой файл игнорируется .... Я также пробовал несколько индексов и т. Д., Он никогда не будет импортировать данные.
Чтобы проверить, имеются ли данные, я делаю запрос на localhost: 9200 или я просматриваю панель поиска Kibana «Имя индекса или шаблон» с индексом «call_samples».
Может ли кто-нибудь помочь мне в этом, пожалуйста? Я застрял в этой точке ... Спасибо
EDIT 2: Ok Я тупой на этом, я просто хотел, чтобы перенаправить потоки журналов в файл, когда я запускал logstash:
logstash.bat -f ..\conf\logstash.conf -v > logfile.txt
Но это был, вероятно, разрыв входного файла от импорта. Так что я просто удалил часть, где я перенаправлять на файл:
logstash.bat -f ..\conf\logstash.conf -v
Теперь мой индекс создан правильно, но никакие данные не импортируются ...
Если вы запустите это несколько раз, logstash запомнил ранее пробег и не видит ничего нового процесса. Вам нужно будет найти файл реестра (.sincedb *) и отредактировать/удалить его. –
@Alain Collins oh yeah Я забыл сказать, что я регулярно удаляю файлы sincedb, созданные в моем каталоге контекста пользователя (C: \ Users \ myusername), поэтому я думаю, что он видит изменения:/Или, может быть, они хранятся и в другом месте? – Alex