SlideShare una empresa de Scribd logo
1 de 23
Автоматизация нагрузочного тестирования
в связке JMeter + TeamСity + Grafana
Иван Останин
iostanin@ptsecurity.com
Сергей Тихонов
stikhonov@ptsecurity.com
Часть 1.
Мониторинг в нагрузочных тестах
Тезисы
• Как было раньше?
• nfluxdb, как хранилище time-series данных
• Мониторинг нагрузочных стендов при помощи Zabbix
• Grafana, как способ превратить графики и дашборды в конфетку
• Что было до автоматизации UI-тестов и стандартные проблемы
• Внедрение автоматизации в процесс нагрузочного тестирования
• Плюсы и минусы в автоматизации
• Выводы
Сбор и отображение данных: ДО
Проблемы
• Отчет и данные хранятся мертвым грузом в артифактории
• Один жесткий шаблон отчета, дорогая доработка
• Отображение данных только после окончания теста
Решение
Использовать плоды чужих трудов!
InfluxDB
• Создана для хранения временных рядов:
• Метрик производительности
• Аналитик
• Событий
• Умеет на лету агрегировать данные
• SQL-like синтаксис
• Поддерживает регулярные выражения
• Автоматически чистит старые данные
• Масштабируема
• Есть библиотеки для популярных языков
• Легкое развертывание и администрирование. Ничего лишнего.
Пример данных
• Температура машины X типа Y в интервале времени
• измерение: temperature
• теги: machine, type
• поля: internal_temperature, external_temperature
• temperature,machine=unit42,type=assembly internal=32,external=100
1434055562000000035
• теги – для агрегации и фильтрации
• поля – данные для хранения
• поля не индексируются
• хранится только одно значение для комбинации измерение + тег + timestamp
задается временная точность (с, мс, мкс, нс)
• длительность хранения данных задается политикой очистки
Zabbix
Как используется в нагрузочном тестировании:
• Кросс-платформенные агенты на Windows- и Linux-хостах
• Активный сбор данных для закрытых сетей
• Autodiscovery виртуальных машин на хостах с ESXi
Grafana
“An open source, feature rich metrics dashboard
and graph editor for Graphite, InfluxDB &
OpenTSDB”
grafana.org
Основные особенности Grafana
• Очень гибкий инструмент для отображения
• Удобный построитель запросов для источников данных
• InfluxDB, Zabbix, Elasticsearch среди поддерживаемых источников
• Шаблонизация запросов
• Подписи к графикам
• Поиск по дашбордам
• Плейлисты
• Экспорт/импорт
• Выглядит так, что не заставляет глаза кровоточить (привет, zabbix)
Демонстрация
Примеры графиков в Grafano
Сбор и отображение данных: ПОСЛЕ
Часть 2.
Jmeter + TeamCity + Grafano
Jmeter
Для чего он нужен:
• Полная эмуляция работы реальных пользователей с системой
(В данном случаем эмуляция всех запросов между серверов и браузером)
• Получение статистических данных по работе сервера:
• Время обработки входящих запросов (Время отклика на действия пользователя)
• Обработка приходящих ответов
• Отправка результатов работы в InfuxDB
и Grafano
Какие проблемы необходимо решить
• Простой механизм разворачивания инструмента на серверах
• Легкий процесс запуска и проведения нагрузочного тестирования
• Простая интеграция результатов тестирования в существующую
систему “Grafano”
• Онлайн мониторинг за проведением нагрузочного тестирования
Что было сделано
• Разработан нагрузочный скрипт который покрывает до 80% всех
пользовательских операций
• Внедрен механизм запуска тестирования через TeamCity
• Отображение онлайн статистики по работе MaxPatrol UI
• Простое обновление скриптов через GIT
Внедрение Jmeter в TeamCity
Внедрение Jmeter в Grafano
Jmeter имеет уже существующий плагин (Backend Listener) для
отправки данных в InfluxDB
Текущее положение дел
• Процесс нагрузочного тестирования на текущий момент представляет
запуск задачи в TeamCity (необходимо только выбрать нужные
параметры при старте)
• Статистические данные по работе UI отображаются сразу в виде
готовых интерактивных графиков
• Обновленные скрипты автоматически подтягиваются через GIT в
TeamCity
Ссылки
• InfluxDB:
https://influxdata.com
• Grafana:
https://grafana.org
• Live demo: https://play.grafana.org
• Zabbix datasource demo: http://play.grafana-zabbix.org
• Zabbix:
https://zabbix.org
• Мониторинг ВМ: https://www.zabbix.com/documentation/3.0/manual/vm_monitoring
• Zabbix + iostat: http://virtuallyhyper.com/2013/06/monitor-disk-io-stats-with-zabbix/
• Jmeter http://jmeter.apache.org/
• TeamCity http://www.jetbrains.com/teamcity/
Спасибо!
Вопросы?
Иван Останин
iostanin@ptsecurity.com
Сергей Тихонов
stikhonov@ptsecurity.com

Más contenido relacionado

La actualidad más candente

Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Ontico
 
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Ontico
 
Нагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория КожуховНагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория Кожухов
Илья Кожухов
 

La actualidad más candente (20)

Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
 
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и GrafanaВсевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
 
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр Ковалев
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр КовалевПакетный менеджер CrossPM: упрощаем сложные зависимости | Александр Ковалев
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр Ковалев
 
Порядок для скорости. Система структурирования фронтендовой части веб-приложе...
Порядок для скорости. Система структурирования фронтендовой части веб-приложе...Порядок для скорости. Система структурирования фронтендовой части веб-приложе...
Порядок для скорости. Система структурирования фронтендовой части веб-приложе...
 
переезд мониторинга
переезд мониторингапереезд мониторинга
переезд мониторинга
 
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
 
Андрей Лузин
Андрей ЛузинАндрей Лузин
Андрей Лузин
 
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
 
TeamPass - управление разграничением доступа к сервисным паролям в команде | ...
TeamPass - управление разграничением доступа к сервисным паролям в команде | ...TeamPass - управление разграничением доступа к сервисным паролям в команде | ...
TeamPass - управление разграничением доступа к сервисным паролям в команде | ...
 
Проверка на прочность или нагрузочное тестирование с Jmeter
Проверка на прочность или нагрузочное тестирование с JmeterПроверка на прочность или нагрузочное тестирование с Jmeter
Проверка на прочность или нагрузочное тестирование с Jmeter
 
Артем Титаренко
Артем ТитаренкоАртем Титаренко
Артем Титаренко
 
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
 
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
 
Андрей Чебукин "Построение успешных API"
Андрей Чебукин "Построение успешных API"Андрей Чебукин "Построение успешных API"
Андрей Чебукин "Построение успешных API"
 
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
 
Игорь Кашкута
Игорь КашкутаИгорь Кашкута
Игорь Кашкута
 
Нагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория КожуховНагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория Кожухов
 
Тестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях ИнтернетаТестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях Интернета
 
Alexei Vladishev - Zabbix 3.0 что дальше
Alexei Vladishev - Zabbix 3.0 что дальшеAlexei Vladishev - Zabbix 3.0 что дальше
Alexei Vladishev - Zabbix 3.0 что дальше
 
Андрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данныхАндрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данных
 

Destacado

Возможно, время не на твоей стороне. Реализация атаки по времени в браузере
Возможно, время не на твоей стороне. Реализация атаки по времени в браузереВозможно, время не на твоей стороне. Реализация атаки по времени в браузере
Возможно, время не на твоей стороне. Реализация атаки по времени в браузере
Positive Hack Days
 
Нагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.ТанкаНагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.Танка
Aleksandr Boichenko
 
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QAFest
 
Нагрузочное тестирование JMeter Кожухов
Нагрузочное тестирование JMeter КожуховНагрузочное тестирование JMeter Кожухов
Нагрузочное тестирование JMeter Кожухов
Илья Кожухов
 

Destacado (19)

Использование Fiddler для эмуляции различных сетевых условий в автотестах
Использование Fiddler для эмуляции различных сетевых условий в автотестахИспользование Fiddler для эмуляции различных сетевых условий в автотестах
Использование Fiddler для эмуляции различных сетевых условий в автотестах
 
Zabbix в Badoo или о чем не пишут в мануале, Илья Аблеев (Badoo)
Zabbix в Badoo или о чем не пишут в мануале, Илья Аблеев (Badoo)Zabbix в Badoo или о чем не пишут в мануале, Илья Аблеев (Badoo)
Zabbix в Badoo или о чем не пишут в мануале, Илья Аблеев (Badoo)
 
Grafana zabbix
Grafana zabbixGrafana zabbix
Grafana zabbix
 
Интеграция TeamCity и сервера символов | Алексей Соловьев
Интеграция TeamCity и сервера символов | Алексей СоловьевИнтеграция TeamCity и сервера символов | Алексей Соловьев
Интеграция TeamCity и сервера символов | Алексей Соловьев
 
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
 
Tapping into the core
Tapping into the coreTapping into the core
Tapping into the core
 
Сообщество DevOpsHQ: идеология и инструменты | Александр Паздников
Сообщество DevOpsHQ: идеология и инструменты | Александр ПаздниковСообщество DevOpsHQ: идеология и инструменты | Александр Паздников
Сообщество DevOpsHQ: идеология и инструменты | Александр Паздников
 
Модель системы Continuous Integration в компании Positive Technologies | Тиму...
Модель системы Continuous Integration в компании Positive Technologies | Тиму...Модель системы Continuous Integration в компании Positive Technologies | Тиму...
Модель системы Continuous Integration в компании Positive Technologies | Тиму...
 
Инструменты для проведения конкурентного анализа программных продуктов | Вла...
Инструменты для проведения конкурентного анализа программных продуктов |  Вла...Инструменты для проведения конкурентного анализа программных продуктов |  Вла...
Инструменты для проведения конкурентного анализа программных продуктов | Вла...
 
Организация workflow в трекере TFS | Алексей Соловьев
Организация workflow в трекере TFS | Алексей СоловьевОрганизация workflow в трекере TFS | Алексей Соловьев
Организация workflow в трекере TFS | Алексей Соловьев
 
Метод машинного обучения для распознавания сгенерированных доменных имен
Метод машинного обучения для распознавания сгенерированных доменных именМетод машинного обучения для распознавания сгенерированных доменных имен
Метод машинного обучения для распознавания сгенерированных доменных имен
 
SupplyLab - публикация, доставка, развёртывание, лицензирование | Александр П...
SupplyLab - публикация, доставка, развёртывание, лицензирование | Александр П...SupplyLab - публикация, доставка, развёртывание, лицензирование | Александр П...
SupplyLab - публикация, доставка, развёртывание, лицензирование | Александр П...
 
Возможно, время не на твоей стороне. Реализация атаки по времени в браузере
Возможно, время не на твоей стороне. Реализация атаки по времени в браузереВозможно, время не на твоей стороне. Реализация атаки по времени в браузере
Возможно, время не на твоей стороне. Реализация атаки по времени в браузере
 
Доставка зловредов через облака
Доставка зловредов через облакаДоставка зловредов через облака
Доставка зловредов через облака
 
Нагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.ТанкаНагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.Танка
 
Performance testing and reporting with JMeter
Performance testing and reporting with JMeterPerformance testing and reporting with JMeter
Performance testing and reporting with JMeter
 
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
 
Коррелятор для JMeter
Коррелятор для JMeterКоррелятор для JMeter
Коррелятор для JMeter
 
Нагрузочное тестирование JMeter Кожухов
Нагрузочное тестирование JMeter КожуховНагрузочное тестирование JMeter Кожухов
Нагрузочное тестирование JMeter Кожухов
 

Similar a Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana | Иван Останин, Сергей Тихонов

Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Anton Baranov
 
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Ontico
 
2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels
Nikolay Samokhvalov
 
Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1C
Alexey Lustin
 
И снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел ТайкалоИ снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел Тайкало
Stanfy
 
[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко
[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко
[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко
OWASP Russia
 

Similar a Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana | Иван Останин, Сергей Тихонов (20)

Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
 
Доклад "Мониторинг серверных приложений"
Доклад "Мониторинг серверных приложений"Доклад "Мониторинг серверных приложений"
Доклад "Мониторинг серверных приложений"
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
 
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
 
Monitoring-driven эксплуатация (rootconf2015)
Monitoring-driven эксплуатация (rootconf2015)Monitoring-driven эксплуатация (rootconf2015)
Monitoring-driven эксплуатация (rootconf2015)
 
Загрузка больших объемов данных для бизнес-аналитики
Загрузка больших объемов данных для бизнес-аналитикиЗагрузка больших объемов данных для бизнес-аналитики
Загрузка больших объемов данных для бизнес-аналитики
 
Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance management
 
Построение системы аналитики
Построение системы аналитикиПостроение системы аналитики
Построение системы аналитики
 
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
 
мониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBAмониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBA
 
мониторинг производительности Web приложений на python
мониторинг производительности Web приложений на pythonмониторинг производительности Web приложений на python
мониторинг производительности Web приложений на python
 
Jiramania презентации @augspb
Jiramania презентации   @augspbJiramania презентации   @augspb
Jiramania презентации @augspb
 
2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels
 
Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1C
 
Grpahite&grafana
Grpahite&grafanaGrpahite&grafana
Grpahite&grafana
 
И снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел ТайкалоИ снова разработка под iOS. Павел Тайкало
И снова разработка под iOS. Павел Тайкало
 
[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко
[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко
[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко
 
Доклады с прошедшей JiraMania: про обновления, зависимости и дедлоки
Доклады с прошедшей JiraMania: про обновления, зависимости и дедлокиДоклады с прошедшей JiraMania: про обновления, зависимости и дедлоки
Доклады с прошедшей JiraMania: про обновления, зависимости и дедлоки
 
Sivko
SivkoSivko
Sivko
 

Más de Positive Hack Days

Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»
Positive Hack Days
 
Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложений
Positive Hack Days
 
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиУязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Positive Hack Days
 
Механизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CoreМеханизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET Core
Positive Hack Days
 

Más de Positive Hack Days (20)

Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows Docker
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
 
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + Qlik
 
Использование анализатора кода SonarQube
Использование анализатора кода SonarQubeИспользование анализатора кода SonarQube
Использование анализатора кода SonarQube
 
Развитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps Community
 
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
 
Автоматизация построения правил для Approof
Автоматизация построения правил для ApproofАвтоматизация построения правил для Approof
Автоматизация построения правил для Approof
 
Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»
 
Формальные методы защиты приложений
Формальные методы защиты приложенийФормальные методы защиты приложений
Формальные методы защиты приложений
 
Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложений
 
Теоретические основы Application Security
Теоретические основы Application SecurityТеоретические основы Application Security
Теоретические основы Application Security
 
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 лет
 
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиУязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на грабли
 
Требования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОТребования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПО
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке Си
 
Механизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CoreМеханизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET Core
 
SOC для КИИ: израильский опыт
SOC для КИИ: израильский опытSOC для КИИ: израильский опыт
SOC для КИИ: израильский опыт
 
Honeywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services CenterHoneywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services Center
 
Credential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атакиCredential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атаки
 
Доклад SiteSecure
Доклад SiteSecureДоклад SiteSecure
Доклад SiteSecure
 

Último

CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
Хроники кибер-безопасника
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
Хроники кибер-безопасника
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
Хроники кибер-безопасника
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Ирония безопасности
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
Ирония безопасности
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
Хроники кибер-безопасника
 

Último (9)

CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 

Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana | Иван Останин, Сергей Тихонов

  • 1. Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana Иван Останин iostanin@ptsecurity.com Сергей Тихонов stikhonov@ptsecurity.com
  • 2. Часть 1. Мониторинг в нагрузочных тестах
  • 3. Тезисы • Как было раньше? • nfluxdb, как хранилище time-series данных • Мониторинг нагрузочных стендов при помощи Zabbix • Grafana, как способ превратить графики и дашборды в конфетку • Что было до автоматизации UI-тестов и стандартные проблемы • Внедрение автоматизации в процесс нагрузочного тестирования • Плюсы и минусы в автоматизации • Выводы
  • 5. Проблемы • Отчет и данные хранятся мертвым грузом в артифактории • Один жесткий шаблон отчета, дорогая доработка • Отображение данных только после окончания теста
  • 7. InfluxDB • Создана для хранения временных рядов: • Метрик производительности • Аналитик • Событий • Умеет на лету агрегировать данные • SQL-like синтаксис • Поддерживает регулярные выражения • Автоматически чистит старые данные • Масштабируема • Есть библиотеки для популярных языков • Легкое развертывание и администрирование. Ничего лишнего.
  • 8. Пример данных • Температура машины X типа Y в интервале времени • измерение: temperature • теги: machine, type • поля: internal_temperature, external_temperature • temperature,machine=unit42,type=assembly internal=32,external=100 1434055562000000035 • теги – для агрегации и фильтрации • поля – данные для хранения • поля не индексируются • хранится только одно значение для комбинации измерение + тег + timestamp задается временная точность (с, мс, мкс, нс) • длительность хранения данных задается политикой очистки
  • 9. Zabbix Как используется в нагрузочном тестировании: • Кросс-платформенные агенты на Windows- и Linux-хостах • Активный сбор данных для закрытых сетей • Autodiscovery виртуальных машин на хостах с ESXi
  • 10. Grafana “An open source, feature rich metrics dashboard and graph editor for Graphite, InfluxDB & OpenTSDB” grafana.org
  • 11. Основные особенности Grafana • Очень гибкий инструмент для отображения • Удобный построитель запросов для источников данных • InfluxDB, Zabbix, Elasticsearch среди поддерживаемых источников • Шаблонизация запросов • Подписи к графикам • Поиск по дашбордам • Плейлисты • Экспорт/импорт • Выглядит так, что не заставляет глаза кровоточить (привет, zabbix)
  • 14. Сбор и отображение данных: ПОСЛЕ
  • 15. Часть 2. Jmeter + TeamCity + Grafano
  • 16. Jmeter Для чего он нужен: • Полная эмуляция работы реальных пользователей с системой (В данном случаем эмуляция всех запросов между серверов и браузером) • Получение статистических данных по работе сервера: • Время обработки входящих запросов (Время отклика на действия пользователя) • Обработка приходящих ответов • Отправка результатов работы в InfuxDB и Grafano
  • 17. Какие проблемы необходимо решить • Простой механизм разворачивания инструмента на серверах • Легкий процесс запуска и проведения нагрузочного тестирования • Простая интеграция результатов тестирования в существующую систему “Grafano” • Онлайн мониторинг за проведением нагрузочного тестирования
  • 18. Что было сделано • Разработан нагрузочный скрипт который покрывает до 80% всех пользовательских операций • Внедрен механизм запуска тестирования через TeamCity • Отображение онлайн статистики по работе MaxPatrol UI • Простое обновление скриптов через GIT
  • 20. Внедрение Jmeter в Grafano Jmeter имеет уже существующий плагин (Backend Listener) для отправки данных в InfluxDB
  • 21. Текущее положение дел • Процесс нагрузочного тестирования на текущий момент представляет запуск задачи в TeamCity (необходимо только выбрать нужные параметры при старте) • Статистические данные по работе UI отображаются сразу в виде готовых интерактивных графиков • Обновленные скрипты автоматически подтягиваются через GIT в TeamCity
  • 22. Ссылки • InfluxDB: https://influxdata.com • Grafana: https://grafana.org • Live demo: https://play.grafana.org • Zabbix datasource demo: http://play.grafana-zabbix.org • Zabbix: https://zabbix.org • Мониторинг ВМ: https://www.zabbix.com/documentation/3.0/manual/vm_monitoring • Zabbix + iostat: http://virtuallyhyper.com/2013/06/monitor-disk-io-stats-with-zabbix/ • Jmeter http://jmeter.apache.org/ • TeamCity http://www.jetbrains.com/teamcity/