Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

Как известно, то, что не может быть измерено, не может быть улучшено.

В своем докладе я расскажу вам о том, как с помощью open source инструментов можно построить систему мониторинга производительности приложения, а также представить полученные данные в доступной и наглядной форме. А технология контейнеров Docker поможет сделать это максимально быстро и просто.

Avatar for Alexander Nedeliaev

Alexander Nedeliaev

October 01, 2016
Tweet

More Decks by Alexander Nedeliaev

Other Decks in Technology

Transcript

  1. Киев 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 Система мониторинга производительности своими руками
  2. Киев 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 Система мониторинга производительности своими руками
  3. Киев 2016 Почему нет? • Масштабность • Неготовность приложения •

    Целесообразность • Стоимость Система мониторинга производительности своими руками
  4. Киев 2016 Что лежит в основе мониторинга? Система мониторинга производительности

    своими руками  Метрика  Значение  Отметка времени
  5. Киев 2016 В чем недостаток JMeter  Чрезмерное потребление ресурсов

     Слабая визуализация результатов  Фрагментарность  Неудобство работы с данными Система мониторинга производительности своими руками
  6. Киев 2016 Структура  Сбор данных из различных источников 

    Запись и хранение данных в базе  Визуализация данных  Оповещения Система мониторинга производительности своими руками
  7. Киев 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] Система мониторинга производительности своими руками
  8. Киев 2016 Установка InfluxDB и Grafana Система мониторинга производительности своими

    руками Из папки проекта: docker-compose up -d http://bit.ly/qamonitoring
  9. Киев 2016 Что я хочу видеть  Инфраструктурные метрики 

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

    Метрики производительности приложения  События  Сравнительный анализ данных  Совместная работа, sharing  Бизнес метрики  Оповещения Система мониторинга производительности своими руками
  11. Киев 2016 Инфраструктурные метрики - Linux CollectD: • 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 Система мониторинга производительности своими руками
  12. Киев 2016 Инфраструктурные метрики - Windows Система мониторинга производительности своими

    руками https://hodgkins.io/using-powershell-to-send-metrics-graphite https://github.com/MattHodge/Graphite-PowerShell-Functions
  13. Киев 2016 Что я хочу видеть  Инфраструктурные метрики 

    Метрики производительности приложения  События  Сравнительный анализ данных  Совместная работа, sharing  Бизнес метрики  Оповещения Система мониторинга производительности своими руками
  14. Киев 2016 Метрики производительности приложения <rootMetricsPrefix>test.minAT Min active threads <rootMetricsPrefix>test.maxAT

    Max active threads <rootMetricsPrefix>test.meanAT Mean active threads <rootMetricsPrefix>test.startedT Started threads <rootMetricsPrefix>test.endedT Finished threads Система мониторинга производительности своими руками
  15. Киев 2016 <rootMetricsPrefix><samplerName>.a.count Number of responses for sampler name <rootMetricsPrefix><samplerName>.a.min

    Min response time for responses of sampler name <rootMetricsPrefix><samplerName>.a.max Max response time for responses of sampler name <rootMetricsPrefix><samplerName>.h.count Server hits per seconds <rootMetricsPrefix><samplerName>.a.pct<percentile> Percentile computed for responses of sampler name Метрики производительности приложения Система мониторинга производительности своими руками
  16. Киев 2016 Запускаем Jmeter тест Система мониторинга производительности своими руками

    jmeter -n -t your_script.jmx где -n: инструкиция запускать Jmeter без GUI -t: путь к .jmx файлу, который нужно запускать
  17. Киев 2016 Что я хочу видеть  Инфраструктурные метрики 

    Метрики производительности приложения  События  Сравнительный анализ данных  Совместная работа, sharing  Бизнес метрики  Оповещения Система мониторинга производительности своими руками
  18. Киев 2016 Аннотации Система мониторинга производительности своими руками curl -i

    -XPOST 'http://<docker-machine ip>:8086/write?db=jmeter' --data-binary 'alerts event="Deploy to prod"'
  19. Киев 2016 Что я хочу видеть  Инфраструктурные метрики 

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

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

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