26 lines
2.2 KiB
Markdown
26 lines
2.2 KiB
Markdown
|
Презентация: ![](Joker_2022_Elastic.pdf)
|
|||
|
|
|||
|
### Описание доклада
|
|||
|
Почему писать все логи в Elastic — не такая простая задача, как кажется. Поговорим про особенности использования ElasticSearch для логов, подводные камни Java-клиента (и не только) и инженерную (бес)культурность.
|
|||
|
|
|||
|
### Мои заметки
|
|||
|
У них три кластера Эластика, причем они не связаны. Kibana может осуществлять крос-кластерный поиск.
|
|||
|
|
|||
|
![](screen%2019.png)
|
|||
|
|
|||
|
У спикера в системе 250_000 событий отправляется в эти 3 контура.
|
|||
|
|
|||
|
![](screen%2020.png)
|
|||
|
Делить по дате не удачная идея, так как индексы будут разных размеров. Эластик с 6.7 версии умеет сам дробить индексы.
|
|||
|
|
|||
|
![](screen%2021.png)
|
|||
|
|
|||
|
Есть два клиента для доступа к эластику. High Livel Rest Client это обертка над Rest Client. Hight Level работает в 2+ раз медлнее.
|
|||
|
|
|||
|
Отправлять данные нужно пачками, иначе технические данные каждого HTTP запроса могут быть больше, чем сама лог запись. Есть какой-то Bulk API для решения этой проблемы. Можно сделать так, чтобы в одной пачке были данные для разных индексов.
|
|||
|
|
|||
|
Файловер перестает работать, так как Bulk запросы всегда возвращают HttpCode 200. Конкретные ошибки будут в теле запроса.
|
|||
|
|
|||
|
Если мы сами добавляем для документа айдишник, то эластик будет проверять есть ли такой айди уже в индексе. И UUID v4 снижает производительность поиска. Эластик любит UUID v1 и nanotime.
|
|||
|
|