Костянтин Чаус — monitoring of huge drupal site. tools and tips

48
Monitoring huge Drupal Tools & Tips Konstantin Chaus Drupal developer [email protected] JYSK

Upload: ledc-2016

Post on 17-Mar-2018

188 views

Category:

Internet


3 download

TRANSCRIPT

Monitoring huge DrupalTools & Tips

Konstantin Chaus

Drupal developer

[email protected]

JYSK

Веб-сайт мониторинг

Это процесс постоянного тестирования и проверки того, что конечные пользователи нормально взаимодействуют с веб-сайтом (приложением).

Веб-сайт мониторинг используется бизнесом для уверенности, что веб-сайт (приложение) функционирует как ожидалось и справляется с нагрузками.

Цели мониторинга:

1. Знать что сайт доступен2. Минимизировать downtime3. Оптимизировать нагрузку4. Сравнивать между релизами5. Искать потенциальные проблемы6. Тестировать новое

Уровни мониторинга:

Server CPU, RAM, Disk, IO, Network

Application httpd, php, mysql, redis,memcached, Drupal

Client JS, AJAX, browsers, DOM

External Mail, Solr, Replication, other external services

ServerCPU, RAM, Disk, IO, Network

Application

status page access log (per vhost) error log (per vhost)

status page slow response log (per socket) error log (per socket)

admin/reports/status syslog (module + rsyslog) dblog (module)

Drupal

Web Server

PHP-FPM

Application

slow query log error log general log (file, table) jet profiler percona tools

debug log# memcached OPTIONS -v > file

MySQL

Memcached

Client

window.onerrorAJAX -> callback

Cross browser & mobile devices

Speed, debugging

Monitor JS errors

ExternalКастомный трекинг внешних сервисов

Чего не хватает?

Средние показатели работы серверов

Среднее время отработки запроса на сервере

Среднее время построения страницы в бразуере

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

Оповещение по разным каналам (mail, sms, mobile app)

Статистика

Свой велосипед?

Monitoring Services

Сервис сбора и анализа статистики

Актуальная статистика в реальном времени

Удобный инструмент для анализа

Как это работает

Как это выглядит

Server. Overview

Server. Graph view

Application (APM)Интеграция: модуль PHP (агент) процесс, который отправляет статистику (демон)

Поддерживает: PHP, Ruby, Java, .NET, Node.js, Python MySQL, Memcached, Redis, Mongo

Overview (dashboard) Время ответа, нагрузка, ошибки, ... Можно создавать свои рабочие столы

Transactions. Overview

Transaction

Transaction. Profile stats

Transaction. Summary

Transaction. Profiling

Databases

Memcached

MySQL

MySQL. Query stats

MySQL. Slow queries

Drupal integration modules hooks views

PHP Errors

Deployment tags

В релиз процедуру добавляем простой curl запрос на аккаунт приложения и получаем статистику релизов

Browser. Overview

Интеграция: настройка модуля PHP функция PHP в коде Java Script сниппет

Browser. JS errors

статистика ошибок Java Script можно посмотреть stack trace статистика ошибок по браузерам

JS error stack trace

Не всегда есть stack traceПоказывает похожие ошибки, что помогает установить закономерности

Browser. Page viewsМожно посмотреть медленные сессии – подобно firebug

ExternalСтатистика подобна транзакциямВидно сервисы, от которых сильные зависимости

AlertsМожно настроить при каких показателях приложения слать email (sms, notification) счастья и можно настроить кого именно и как-именно Вы хотите осчастливить))

Alert channels

Alert. Ping configuration

Настроить URL который будет проверятся на доступность и если он недосутпен –сработает Alert

Plugins

InsightsTransactions = backendPageViews = frontendNRQL> удобный язык построения запросов по всей статистике

Examples. Performance уменьшение downtimes уменьшение response time уменьшение жестких внешних зависимостей

Examples. ExternalЯркий пример того, как внешний сервис портилстатистику и приводил к downtime!

Examples. Test new moduleВнедрение модуля autoslave на некоторых сайтахПосле второго релиза в статистике появился Memcached

Examples. Test new featureВнедрение новой фичи на фронтэнде Быстро откатились

New Relic

• Отличная документация

• Быстрая интеграция и настройка

• Встроенная поддержка Drupal

• Удобный инструмент для анализа

• Очень гибкое API

• Мобильное приложение (Android, IOS)

Вопросы.