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

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

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

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

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

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  Бизнес метрики  Оповещения Система мониторинга производительности своими руками