SlideShare a Scribd company logo
1 of 16
Software quality assurance days
22 Международная конференция
по вопросам качества ПО
sqadays.com
Санкт-Петербург. 17–18 ноября 2017
Журин Сергей
Performance-lab. Москва, Россия
ELK stack в тестировании (Logstash+Elasticsearch+Kibana)
ELK stack в тестировании (Logstash+Elasticsearch+Kibana)
Что такое ELK stack?
ELK Stack или Elastic Stack – пакет из трех продуктов, которые в частности
применяются для визуализации и анализа логов
Logstash – сбор и первичная обработка логов
Elasticsearch – хранение и быстрый поиск по логам
Kibana – визуализация (дашборды)
ELK stack в тестировании (Logstash+Elasticsearch+Kibana)
Архитектурная схема решения
ELK stack в тестировании (Logstash+Elasticsearch+Kibana)
Elasticsearch. Обратный индекс.
Runtime
Exception
Java
Document 1
Document 10
Document 2
Document 1
Document 14
Document 4
Document 1
Elasticsearch использует Lucene,
которая хранит данные используя
обратный индекс
Хранится значение и документ, в
котором это значение встречается
Это обеспечивает очень быстрый
поиск по сообщению лога
ELK stack в тестировании (Logstash+Elasticsearch+Kibana)
Elasticsearch. Основные плюсы и минусы
Плюсы:
1. Скорость полнотекстового поиска
2. Горизонтальное масштабирование
Минусы:
1. «Почти реальное время» (Near Real
Time)
2. Отсутствие транзакций
3. Ограничения на архитектуру хранения
данных (отсутствие cross-table join’ов)
ELK stack в тестировании (Logstash+Elasticsearch+Kibana)
Пример dashboard’а
ELK stack в тестировании (Logstash+Elasticsearch+Kibana)
Предпосылки к внедрению ELK stack
1. Автоматизация рутины
2. Достижение заданного качества тестирования
за ограниченное время
3. Быстрая локализация причины сбоя в
продуктивной среде
ELK stack в тестировании (Logstash+Elasticsearch+Kibana)
До внедрения
Работа по чек-листу:
1. Зайти на каждый сервер, включить сбор метрик
2. После теста зайти на каждый сервер собрать метрики
3. Запустить обработчик метрик
4. Построить графики
5. И только сейчас приступить к анализу результатов
Проблемы:
1. Много времени тратится на рутинную работу
2. Человеческий фактор
ELK stack в тестировании (Logstash+Elasticsearch+Kibana)
После внедрения
1. Один раз настраивается сбор метрик и
отображение графиков
2. Настраиваем ELK Stack
3. Дополнительно мы можем получить:
1. Средство для быстрого анализа логов
2. Автоматическая визуализация информации
в логах
ELK stack в тестировании (Logstash+Elasticsearch+Kibana)
Зачем анализировать логи? Поиск бага
Большая крупная система
Проект по нагрузочному тестированию
Тестирование job’ов по обработке финансовых
проводок
Найден баг!
Иногда job’ы падают с не понятной ошибкой
ELK stack в тестировании (Logstash+Elasticsearch+Kibana)
Зачем анализировать логи? Ответ разработчика
Это не баг это фича
«Такое поведение встречается и в проде, чтобы
полечить нужно просто перезапустить job еще раз»
ELK stack в тестировании (Logstash+Elasticsearch+Kibana)
Зачем анализировать логи? Причина бага
Помогал в поиске причины бага один
из лучших специалистов компании
Был проведен анализ определенного
лог-файла с определенного сервера
БД
Deadlock
Detected:
ORA-00060
ELK stack в тестировании (Logstash+Elasticsearch+Kibana)
Зачем анализировать логи? Результат
Результаты:
1. Иногда причина багов рядом – в логах
2. Разработчик готов помогать, если ему
предоставить достаточно информации о баге
Нюансы:
1. Большой объем файлов с логами
2. Разный формат сообщений
3. Нужно знать что может, а чего не может быть в логах
ELK stack в тестировании (Logstash+Elasticsearch+Kibana)
Что же мы получаем
1. Облегчение жизни разработчикам и
администраторам
2. Облегчение жизни тестировщикам
3. Предоставление информации менеджерам
4. Централизованный мониторинг здоровьем
систем
5. Повышение качества продукта
ELK stack в тестировании (Logstash+Elasticsearch+Kibana)
Общие впечатления об ELK stack
1. Logstash и Kibana
1. Нужный функционал не в полном объеме
2. Просто реализовать недостающее
3. Легко настраиваются
2. Elasticsearch
1. Солидный продукт
2. Работает быстро
3. Нужно время, чтобы научиться с ним
работать
4. По умолчанию нет аутентификации
ELK stack в тестировании (Logstash+Elasticsearch+Kibana)
Вопросы и ответы
Презентацию выполнил:
Журин Сергей.
s.zhurin@pflb.ru
Инженер по производительности ПО
Performance lab

More Related Content

More from SQALab

API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 
Истинная сила тестировщика - информация
Истинная сила тестировщика - информацияИстинная сила тестировщика - информация
Истинная сила тестировщика - информацияSQALab
 
Автоматизация тестирования встроенного ПО
Автоматизация тестирования встроенного ПОАвтоматизация тестирования встроенного ПО
Автоматизация тестирования встроенного ПОSQALab
 
Правильный подход к составлению профиля нагрузочного тестирования
Правильный подход к составлению профиля нагрузочного тестированияПравильный подход к составлению профиля нагрузочного тестирования
Правильный подход к составлению профиля нагрузочного тестированияSQALab
 
Sustainable Test Automation: Collaborate within Team
Sustainable Test Automation: Collaborate within TeamSustainable Test Automation: Collaborate within Team
Sustainable Test Automation: Collaborate within TeamSQALab
 
Test Data Preparation: Tips and Tricks
Test Data Preparation: Tips and TricksTest Data Preparation: Tips and Tricks
Test Data Preparation: Tips and TricksSQALab
 
9 кругов Ада: антипаттерны UI-Автоматизации
9 кругов Ада: антипаттерны UI-Автоматизации9 кругов Ада: антипаттерны UI-Автоматизации
9 кругов Ада: антипаттерны UI-АвтоматизацииSQALab
 
The secrets in game testing
The secrets in game testingThe secrets in game testing
The secrets in game testingSQALab
 
Loading time testing and results visualisation of web games
Loading time testing and results visualisation of web gamesLoading time testing and results visualisation of web games
Loading time testing and results visualisation of web gamesSQALab
 

More from SQALab (20)

API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 
Истинная сила тестировщика - информация
Истинная сила тестировщика - информацияИстинная сила тестировщика - информация
Истинная сила тестировщика - информация
 
Автоматизация тестирования встроенного ПО
Автоматизация тестирования встроенного ПОАвтоматизация тестирования встроенного ПО
Автоматизация тестирования встроенного ПО
 
Правильный подход к составлению профиля нагрузочного тестирования
Правильный подход к составлению профиля нагрузочного тестированияПравильный подход к составлению профиля нагрузочного тестирования
Правильный подход к составлению профиля нагрузочного тестирования
 
Sustainable Test Automation: Collaborate within Team
Sustainable Test Automation: Collaborate within TeamSustainable Test Automation: Collaborate within Team
Sustainable Test Automation: Collaborate within Team
 
Test Data Preparation: Tips and Tricks
Test Data Preparation: Tips and TricksTest Data Preparation: Tips and Tricks
Test Data Preparation: Tips and Tricks
 
9 кругов Ада: антипаттерны UI-Автоматизации
9 кругов Ада: антипаттерны UI-Автоматизации9 кругов Ада: антипаттерны UI-Автоматизации
9 кругов Ада: антипаттерны UI-Автоматизации
 
The secrets in game testing
The secrets in game testingThe secrets in game testing
The secrets in game testing
 
Loading time testing and results visualisation of web games
Loading time testing and results visualisation of web gamesLoading time testing and results visualisation of web games
Loading time testing and results visualisation of web games
 

ELK stack в тестировании (Logstash+Elasticsearch+Kibana)

  • 1. Software quality assurance days 22 Международная конференция по вопросам качества ПО sqadays.com Санкт-Петербург. 17–18 ноября 2017 Журин Сергей Performance-lab. Москва, Россия ELK stack в тестировании (Logstash+Elasticsearch+Kibana)
  • 2. ELK stack в тестировании (Logstash+Elasticsearch+Kibana) Что такое ELK stack? ELK Stack или Elastic Stack – пакет из трех продуктов, которые в частности применяются для визуализации и анализа логов Logstash – сбор и первичная обработка логов Elasticsearch – хранение и быстрый поиск по логам Kibana – визуализация (дашборды)
  • 3. ELK stack в тестировании (Logstash+Elasticsearch+Kibana) Архитектурная схема решения
  • 4. ELK stack в тестировании (Logstash+Elasticsearch+Kibana) Elasticsearch. Обратный индекс. Runtime Exception Java Document 1 Document 10 Document 2 Document 1 Document 14 Document 4 Document 1 Elasticsearch использует Lucene, которая хранит данные используя обратный индекс Хранится значение и документ, в котором это значение встречается Это обеспечивает очень быстрый поиск по сообщению лога
  • 5. ELK stack в тестировании (Logstash+Elasticsearch+Kibana) Elasticsearch. Основные плюсы и минусы Плюсы: 1. Скорость полнотекстового поиска 2. Горизонтальное масштабирование Минусы: 1. «Почти реальное время» (Near Real Time) 2. Отсутствие транзакций 3. Ограничения на архитектуру хранения данных (отсутствие cross-table join’ов)
  • 6. ELK stack в тестировании (Logstash+Elasticsearch+Kibana) Пример dashboard’а
  • 7. ELK stack в тестировании (Logstash+Elasticsearch+Kibana) Предпосылки к внедрению ELK stack 1. Автоматизация рутины 2. Достижение заданного качества тестирования за ограниченное время 3. Быстрая локализация причины сбоя в продуктивной среде
  • 8. ELK stack в тестировании (Logstash+Elasticsearch+Kibana) До внедрения Работа по чек-листу: 1. Зайти на каждый сервер, включить сбор метрик 2. После теста зайти на каждый сервер собрать метрики 3. Запустить обработчик метрик 4. Построить графики 5. И только сейчас приступить к анализу результатов Проблемы: 1. Много времени тратится на рутинную работу 2. Человеческий фактор
  • 9. ELK stack в тестировании (Logstash+Elasticsearch+Kibana) После внедрения 1. Один раз настраивается сбор метрик и отображение графиков 2. Настраиваем ELK Stack 3. Дополнительно мы можем получить: 1. Средство для быстрого анализа логов 2. Автоматическая визуализация информации в логах
  • 10. ELK stack в тестировании (Logstash+Elasticsearch+Kibana) Зачем анализировать логи? Поиск бага Большая крупная система Проект по нагрузочному тестированию Тестирование job’ов по обработке финансовых проводок Найден баг! Иногда job’ы падают с не понятной ошибкой
  • 11. ELK stack в тестировании (Logstash+Elasticsearch+Kibana) Зачем анализировать логи? Ответ разработчика Это не баг это фича «Такое поведение встречается и в проде, чтобы полечить нужно просто перезапустить job еще раз»
  • 12. ELK stack в тестировании (Logstash+Elasticsearch+Kibana) Зачем анализировать логи? Причина бага Помогал в поиске причины бага один из лучших специалистов компании Был проведен анализ определенного лог-файла с определенного сервера БД Deadlock Detected: ORA-00060
  • 13. ELK stack в тестировании (Logstash+Elasticsearch+Kibana) Зачем анализировать логи? Результат Результаты: 1. Иногда причина багов рядом – в логах 2. Разработчик готов помогать, если ему предоставить достаточно информации о баге Нюансы: 1. Большой объем файлов с логами 2. Разный формат сообщений 3. Нужно знать что может, а чего не может быть в логах
  • 14. ELK stack в тестировании (Logstash+Elasticsearch+Kibana) Что же мы получаем 1. Облегчение жизни разработчикам и администраторам 2. Облегчение жизни тестировщикам 3. Предоставление информации менеджерам 4. Централизованный мониторинг здоровьем систем 5. Повышение качества продукта
  • 15. ELK stack в тестировании (Logstash+Elasticsearch+Kibana) Общие впечатления об ELK stack 1. Logstash и Kibana 1. Нужный функционал не в полном объеме 2. Просто реализовать недостающее 3. Легко настраиваются 2. Elasticsearch 1. Солидный продукт 2. Работает быстро 3. Нужно время, чтобы научиться с ним работать 4. По умолчанию нет аутентификации
  • 16. ELK stack в тестировании (Logstash+Elasticsearch+Kibana) Вопросы и ответы Презентацию выполнил: Журин Сергей. s.zhurin@pflb.ru Инженер по производительности ПО Performance lab