digital-garden/source/доклады/Нельзя просто так взять и отправить все логи в Elastic.md
2024-06-13 21:01:37 +03:00

26 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Презентация: ![](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.