Я пробую Elasticsearch
в первый раз.
Я скачал Elasticsearch
и Kibana
, вроде все работает нормально. Я могу посетить http://localhost:5601
и просмотреть Kibana
без ошибок.
Я сделал несколько трассировок с wireshark
/tshark
и преобразовал их в формат Elasticsearch
с помощью:
tshark -r test_trace.pcap -T ek > test_trace.pcap.json
Теперь я пытаюсь импортировать этот .json
в Elasticsearch
, но, похоже, это не удается:
curl -s -H "Content-Type: application/x-ndjson" -XPOST "localhost:9200/foo/_bulk" --data-binary "@/Users/test-elastic/test_trace.pcap.json"
Я не получаю никаких ошибок или каких-либо выходных данных, но при посещении Kibana
отображается index_not_found_exception
и выполняется:
curl 'http://127.0.0.1:9200/foo/_search/?size=10&pretty=true'
Выходы
{
"error" : {
"root_cause" : [
{
"type" : "index_not_found_exception",
"reason" : "no such index",
"resource.type" : "index_or_alias",
"resource.id" : "foo",
"index_uuid" : "_na_",
"index" : "foo"
}
],
"type" : "index_not_found_exception",
"reason" : "no such index",
"resource.type" : "index_or_alias",
"resource.id" : "foo",
"index_uuid" : "_na_",
"index" : "foo"
},
"status" : 404
}
Как я могу правильно импортировать свои данные и просматривать их в Elasticsearch
и Kibana
?
Файл JSON размером 195 МБ преобразован из файла PCAP
размером 10 МБ. Вывод первых строк в json-файле:
{"index" : {"_index": "packets-2019-02-15", "_type": "pcap_file", "_score": null}}
{"timestamp" : "1549540104875", "layers" : {"frame": {"frame_frame_interface_id":...
ОБНОВЛЕНИЕ
После удаления -s
в curl
я получаю вывод:
HTTP/1.1 413 Request Entity Too Large
Теперь я попытался использовать split
для разделения файлов на несколько файлов меньшего размера.
Повторное тестирование импорта теперь дает мне несколько ошибок:
..."reason":"failed to parse","caused_by":{"type":"json_parse_exception","reason":"Duplicate field 'ip_ip_addr'\n at [Source: org.elasticsearch.common.bytes.BytesReference$MarkSupportingStreamInputWrapper@5d2f82db; line: 1, column: 1300...
ОБНОВЛЕНИЕ
Я использовал следующую команду на моем test_trace.pcap.json
, чтобы получить файлы меньшего размера:
split -l 10000 -a 10 test_trace.pcap.json.pcap.json ./tmp/test_trace.pcap
Затем я получил много файлов и протестировал импорт с первым файлом:
./tmp/test_trace.pcapaaaaaaaaaa
Тип файла в моем .json
:
"frame_frame_protocols": "sll:ethertype:ip:sctp"
и действительно есть несколько полей ip_ip_addr
, так как у меня есть IP-адреса источника и назначения в трассировках.
test_trace.pcap.json
? и насколько большой этот файл? - person Val   schedule 18.02.2019