Поиск по большим данным

(Kirill) #1

Здравствуйте.
Использую ELK стек для сбора событий безопасности Windows.
Настройки кластера:

curl http://xx.xx.xC:9200/_cat/nodes?v
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
xx.xx.xA 30 99 28 3.80 3.59 4.17 mdi - ELK-MD1 (дата-нода, CPU 12, ОЗУ 64 ГБ, HDD 2 ТБ)
xx.xx.xD 19 34 0 0.02 0.07 0.08 - - ELK-K (Kibana, CPU 6, ОЗУ 8 ГБ, HDD 200 ГБ)
xx.xx.xC 14 63 1 0.01 0.02 0.00 mi * ELK-M (мастер-нода, CPU 12, ОЗУ 12 ГБ, HDD 100 ГБ)
xx.xx.xB 64 94 32 4.21 3.76 3.83 mdi - ELK-MD2 (дата-нода, CPU 12, ОЗУ 64 ГБ, HDD 2 ТБ)
curl http://xx.xx.xC:9200/_cat/master
nwg2aXi1ScCiWRBAhbs3IA xx.xx.xC xx.xx.xC ELK-M

При поиске за 4 дня и более в Kibane возникает следующая ошибка:

SearchError: Internal Server Error
at http://xx.xx.xD:5601/bundles/commons.bundle.js:4:324908
at processQueue (http://xx.xx.xD:5601/built_assets/dlls/vendors.bundle.dll.js:427:199687)
at http://xx.xx.xD:5601/built_assets/dlls/vendors.bundle.dll.js:427:200650
at Scope.$digest (http://xx.xx.xD:5601/built_assets/dlls/vendors.bundle.dll.js:427:210412)
at Scope.$apply (http://xx.xx.xD:5601/built_assets/dlls/vendors.bundle.dll.js:427:213219)
at done (http://xx.xx.xD:5601/built_assets/dlls/vendors.bundle.dll.js:427:132717)
at completeRequest (http://xx.xx.xD:5601/built_assets/dlls/vendors.bundle.dll.js:427:136329)
at XMLHttpRequest.requestLoaded (http://xx.xx.xD:5601/built_assets/dlls/vendors.bundle.dll.js:427:135225)

Есть предложения по настройки для оптимизации поиска? Хотелось бы выполнять поиск за месяцы.

(Igor Motov) #2

Эта ошибка может означать все что угодно. В логах кибаны должна быть соответствующая запись, в которой должно быть больше информации о том, что на самом деле там происходит.

(Kirill) #3

Извиняюсь за задержку.
Включил логирование на Kiban-e.
Но кроме 500 ошибки никакой полезной информации не увидел.

{"type":"response","@timestamp":"2019-05-15T05:55:32Z","tags":[ ],"pid":2504,"method":"post","statusCode":500,"req":{"url":"/elasticsearch/_msearch?rest_total_hits_as_int=true&ignore_throttled=true","method":"post","headers":{"host":"xx.xx.xD:5601","user-agent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:66.0) Gecko/20100101 Firefox/66.0","accept":"application/json, text/plain, /","accept-language":"ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3","accept-encoding":"gzip, deflate","referer":"http://xx.xx.xD:5601/app/kibana","content-type":"application/x-ndjson","kbn-version":"7.0.1","content-length":"1287","connection":"keep-alive"},"remoteAddress":"ClientHost","userAgent":"ClientHost","referer":"http://xx.xx.xD:5601/app/kibana"},"res":{"statusCode":500,"responseTime":30022,"contentLength":9},"message":"POST /elasticsearch/_msearch?rest_total_hits_as_int=true&ignore_throttled=true 500 30022ms - 9.0B"}
{"type":"error","@timestamp":"2019-05-15T05:55:35Z","tags":[ ],"pid":2504,"level":"error","error":{"message":"Request Timeout after 30000ms","name":"Error","stack":"Error: Request Timeout after 30000ms\n at /usr/share/kibana/node_modules/elasticsearch/src/lib/transport.js:355:15\n at Timeout. (/usr/share/kibana/node_modules/elasticsearch/src/lib/transport.js:384:7)\n at ontimeout (timers.js:436:11)\n at tryOnTimeout (timers.js:300:5)\n at listOnTimeout (timers.js:263:5)\n at Timer.processTimers (timers.js:223:10)"},"url":{"protocol":null,"slashes":null,"auth":null,"host":null,"port":null,"hostname":null,"hash":null,"search":"?rest_total_hits_as_int=true&ignore_throttled=true","query":{"rest_total_hits_as_int":"true","ignore_throttled":"true"},"pathname":"/elasticsearch/_msearch","path":"/elasticsearch/_msearch?rest_total_hits_as_int=true&ignore_throttled=true","href":"/elasticsearch/_msearch?rest_total_hits_as_int=true&ignore_throttled=true"},"message":"Request Timeout after 30000ms"}

В логах ES (xx.xx.xA, xx.xx.xB, xx.xx.xC) ошибок нет.
Но в кластер также входит нода с Kiban-oй (xx.xx.xD) для мониторинга. ES на ней установлен без ролей.

Где еще можно посмотреть в чем проблема?

(Igor Motov) #4

А что в логах xx.xx.xD?

(Kirill) #5

xx.xx.xA 30 99 28 3.80 3.59 4.17 mdi - ELK-MD1 (дата-нода, CPU 12, ОЗУ 64 ГБ, HDD 2 ТБ)
xx.xx.xD 19 34 0 0.02 0.07 0.08 - - ELK-K (Kibana, CPU 6, ОЗУ 8 ГБ, HDD 200 ГБ)
xx.xx.xC 14 63 1 0.01 0.02 0.00 mi * ELK-M (мастер-нода, CPU 12, ОЗУ 12 ГБ, HDD 100 ГБ)
xx.xx.xB 64 94 32 4.21 3.76 3.83 mdi - ELK-MD2 (дата-нода, CPU 12, ОЗУ 64 ГБ, HDD 2 ТБ)

Это сервер на котором развернута Kibana и ES без ролей.
xx.xx.xD 19 34 0 0.02 0.07 0.08 - - ELK-K (Kibana, CPU 6, ОЗУ 8 ГБ, HDD 200 ГБ)
ES

Kibana

(Igor Motov) #6

А что в логах elasticsearch на xx.xx.xD?

(Kirill) #7

Ошибок в логах ES на xx.xx.xD нет.

(Igor Motov) #8

Странно, в логах ошибки 500 обычно что-то оставляют. Я думаю, что ошибка в том, что индексы за разные даты имеют разный мэппинг, и это вызывает проблемы при обработке запроса.

1 Like