Система мониторинга производительности своими руками...

53
Киев 2016 Первый в Украине фестиваль тестирования Система мониторинга производительности своими руками Александр Неделяев

Upload: alexander-nedeliaev

Post on 14-Apr-2017

169 views

Category:

Software


7 download

TRANSCRIPT

Киев 2016

Первый в Украине фестиваль тестирования

Система мониторинга производительности

своими рукамиАлександр Неделяев

Киев 2016

О себе[email protected]

nedeliaev

Alexander Nedeliaev

Система мониторинга производительности своими руками

Киев 2016

С чего все началось

Система мониторинга производительности своими руками

Киев 2016

Слои мониторинга• OS• CRM• ERP• Email

Application

• Database: Oracle, SQL Server, MySQL• Web servers: IIS, Apache• Application servers: WebSphere, Tomcat, JBoss, MS .Net

Middleware

• Servers: Windows Server, Solaris, Linux• Virtualization: VMware, Hyper-V, Citrix

XenServer• Storage: SAN, NAS, RAID, S.M.A.R.T• Network: LAN, WLAN, VPN

Hardware

Система мониторинга производительности своими руками

Киев 2016

Слои мониторинга• OS• CRM• ERP• Email

Application

• Database: Oracle, SQL Server, MySQL• Web servers: IIS, Apache• Application servers: WebSphere, Tomcat, JBoss, MS .Net

Middleware

• Servers: Windows Server, Solaris, Linux• Virtualization: VMware, Hyper-V, Citrix

XenServer• Storage: SAN, NAS, RAID, S.M.A.R.T• Network: LAN, WLAN, VPN

Hardware

Система мониторинга производительности своими руками

Киев 2016

Готовые решения APM

Система мониторинга производительности своими руками

Киев 2016

Почему нет?• Масштабность

• Неготовность приложения

• Целесообразность

• Стоимость

Система мониторинга производительности своими руками

Киев 2016

Кастомное решение

Система мониторинга производительности своими руками

Киев 2016

Отправная точка

Система мониторинга производительности своими руками

http://jmeter.apache.org/usermanual/realtime-results.html

Киев 2016

Что лежит в основе мониторинга?

Система мониторинга производительности своими руками

Метрика

Значение

Отметка времени

Киев 2016

Временные ряды

Система мониторинга производительности своими руками

Киев 2016

В чем недостаток JMeter Чрезмерное потребление ресурсов

Слабая визуализация результатов

Фрагментарность

Неудобство работы с данными

Система мониторинга производительности своими руками

Киев 2016

Инструменты

Система мониторинга производительности своими руками

Киев 2016

Структура Сбор данных из различных источников

Запись и хранение данных в базе

Визуализация данных

Оповещения

Система мониторинга производительности своими руками

Киев 2016

Структура

Система мониторинга производительности своими руками

Киев 2016

Визуализация

Система мониторинга производительности своими руками

Киев 2016

План

Система мониторинга производительности своими руками

Киев 2016

Установка и конфигурация

Система мониторинга производительности своими руками

https://docs.docker.com https://hub.docker.com

Киев 2016

Команды Docker• docker pull [image]• docker run -d -e [environmentVariable] -p [ports]• docker start / stop [containerID]• docker-machine ip• docker images -a• docker ps -a• docker rm [containerID]• docker rmi [image]

Система мониторинга производительности своими руками

Киев 2016

Установка InfluxDB и Grafana

Система мониторинга производительности своими руками

Из папки проекта: docker-compose up -d

http://bit.ly/qamonitoring

Киев 2016

Настраиваем JMeter

Система мониторинга производительности своими руками

http://jmeter.apache.org/usermanual/realtime-results.html

Киев 2016

Настраиваем Grafana

Система мониторинга производительности своими руками

Киев 2016

Что я хочу видеть

Система мониторинга производительности своими руками

Киев 2016

Что я хочу видеть Инфраструктурные метрики Метрики производительности приложения События Сравнительный анализ данных Совместная работа, sharing Бизнес метрики Оповещения

Система мониторинга производительности своими руками

Киев 2016

Что я хочу видеть Инфраструктурные метрики Метрики производительности приложения События Сравнительный анализ данных Совместная работа, sharing Бизнес метрики Оповещения

Система мониторинга производительности своими руками

Киев 2016

Инфраструктурные метрики - LinuxCollectD:

• CPU used/ free/ idle/ etc• Free disk (via mounting hosts '/' into container, eg: -v /:/hostfs:ro)• Disk performance• Load average• Memory used/ free/ etc• Uptime• Network interface• Swap

https://github.com/andreasjansson/docker-collectd-write-graphite

Система мониторинга производительности своими руками

Киев 2016

Инфраструктурные метрики - Windows

Система мониторинга производительности своими руками

https://hodgkins.io/using-powershell-to-send-metrics-graphitehttps://github.com/MattHodge/Graphite-PowerShell-Functions

Киев 2016

Что я хочу видеть Инфраструктурные метрики Метрики производительности приложения События Сравнительный анализ данных Совместная работа, sharing Бизнес метрики Оповещения

Система мониторинга производительности своими руками

Киев 2016

Метрики производительности приложения<rootMetricsPrefix>test.m

inATMin active threads

<rootMetricsPrefix>test.maxATMax active threads

<rootMetricsPrefix>test.meanATMean active threads

<rootMetricsPrefix>test.startedTStarted threads

<rootMetricsPrefix>test.endedTFinished threads

Система мониторинга производительности своими руками

Киев 2016

<rootMetricsPrefix><samplerName>.a.countNumber of responses for sampler name

<rootMetricsPrefix><samplerName>.a.minMin response time for responses of sampler name

<rootMetricsPrefix><samplerName>.a.maxMax response time for responses of sampler name

<rootMetricsPrefix><samplerName>.h.countServer hits per seconds

<rootMetricsPrefix><samplerName>.a.pct<percentile>Percentile computed for responses of sampler name

Метрики производительности приложения

Система мониторинга производительности своими руками

Киев 2016

Запускаем Jmeter тест

Система мониторинга производительности своими руками

jmeter -n -t your_script.jmx

где-n: инструкиция запускать Jmeter без GUI-t: путь к .jmx файлу, который нужно запускать

Киев 2016

Проверяем данные в InfluxDB

Система мониторинга производительности своими руками

http://<docker-machine ip>:8083

Киев 2016

Создаем Grafana dashboard

Система мониторинга производительности своими руками

http://<docker-machine ip>:3000/dashboard/new

Киев 2016

Добавляем графики

Система мониторинга производительности своими руками

Киев 2016

Настраиваем графики

Система мониторинга производительности своими руками

Киев 2016

Настраиваем графики

Система мониторинга производительности своими руками

Киев 2016

Улучшаем графики

Система мониторинга производительности своими руками

Киев 2016

Устанавливаем зависимости

Система мониторинга производительности своими руками

Киев 2016

Параметры отображения

Система мониторинга производительности своими руками

Киев 2016

Что я хочу видеть Инфраструктурные метрики Метрики производительности приложения События Сравнительный анализ данных Совместная работа, sharing Бизнес метрики Оповещения

Система мониторинга производительности своими руками

Киев 2016

Аннотации

Система мониторинга производительности своими руками

curl -i -XPOST 'http://<docker-machine ip>:8086/write?db=jmeter' --data-binary 'alerts event="Deploy to prod"'

Киев 2016

Аннотации

Система мониторинга производительности своими руками

Киев 2016

Что я хочу видеть Инфраструктурные метрики Метрики производительности приложения События Сравнительный анализ данных Совместная работа, sharing Бизнес метрики Оповещения

Система мониторинга производительности своими руками

Киев 2016

Сравнительный анализ данных

Система мониторинга производительности своими руками

Киев 2016

Что я хочу видеть Инфраструктурные метрики Метрики производительности приложения События Сравнительный анализ данных Совместная работа, sharing Бизнес метрики Оповещения

Система мониторинга производительности своими руками

Киев 2016

Совместная работа

Система мониторинга производительности своими руками

Киев 2016

Совместная работа

Система мониторинга производительности своими руками

Киев 2016

Планы на будущее Инфраструктурные метрики Метрики производительности приложения События Сравнительный анализ данных Совместная работа, sharing Бизнес метрики Оповещения

Система мониторинга производительности своими руками

Киев 2016

Что получилось

Система мониторинга производительности своими руками

Киев 2016

Что получилось

Система мониторинга производительности своими руками

Киев 2016

Taurus

Система мониторинга производительности своими руками

docker run --rm -v <path-to-files>:/bzt-configs undera/bzt:v1.6.5

https://bit.ly/qataurus

Киев 2016

Taurus

Система мониторинга производительности своими руками

Киев 2016

Спасибо[email protected]

nedeliaev

Alexander Nedeliaev

Система мониторинга производительности своими руками