четверг, ноября 12, 2015

Elasticsearch для тестировщика

Бренд "для тестировщика" -- это чистый маркетинг для того чтобы привлечь ваше внимание.
А еще я решил не делать классный и красочный блог-пост, потому что у меня нет времени и желания. Нет... , нужно собраться и сказать что-то умное, фух!

Те-сти-ров-щи--к!
- Вот скажи, что делает твое приложение более качественным?
(все молчат, кто-то высказывает пару идей не впопад, и тут я продолжаю)

- Твое приложение делает более качественным -- количество найденных тобою багов!
(И тут один говорит: да нет, баги -- это вообще побочный продукт, качественным наше приложение делают... бла-бла-бла... )
(А я так молчу и жду пока этот кто-то закончит свою речь, и потом продолжаю)

И есть баги явные, которые сложно пропустить, ну, например, креш приложения на старте, а есть и скрытые, которые проявляют себя, в лучшем случае,
как ошибки в лог файлах, а вылазят где-то делением на ноль в годовом отчете (или что там ваш софт считает), как раз за день до релиза.

Кто скажет, сколько таких ошибок вы пропустили за все время тестирования, те, которые проявили себя в логах приложения, но небыли выявлены через пользовательский интерфейс?

И для этого я спрошу, а кто из вас каждый день читает логи приложения?
(Поднял руку один тролль, а может человек хотел просто что-то спросить... но я не дал такой возможности)

И логи находятся на различных удаленных машинах, при этом, форматы логов могут быть разные... а если архитектура построена на микросервисах, которые вызываются в непонятной последовательности.
(И тут я так строго и с вызовом смотрю на того тролля, а может и зря я так... на да ладно...)

Вы все эти логи читаете?
(В зале поднялся шум, возгласы: "Еретик!", "На костер его!", "Это невозможно!", "Земля -- бублик!")

Создать централизованную систему хранения логов можно! И при этом, считать статистику, аггрегировать данные, фильтровать только ошибки... И вот что я вам скажу, это не только просто* но и бесплатно**!

* Не, ну мануалы нужно будет почитать
** За ваше время и используемое железо, все равно кто-то должен будет заплатить 


В общем, ставите Elasticsearch, посылаете туда данные через Logstash и делаете красивые отчеты в Kibana.
(Тут я ухожу со сцены под горячие овации и крики "Спаситель!", "Аллилуя!", "Ей, чувак, а где ссылки?")

Ах да, ссылки!
Ловите свежий список отборных и самых свежих и полезных ссылок!

Awesome Elasticsearch (← кликни!)

Кроме того, вы можете внести свой вклад в этот список. Ну, если будет чё.