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

Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".

Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".

О чем доклад:
- Как в нашем проекте устроен Zabbix, применяемые нами способы автоматизации, собственные методы "дискавери" серверов и сервисов. Плюс как правильно держать Zabbix под высокой нагрузкой и не упираться в ресурсы серверов.
- Для чего мы используем Pinba, какие именно метрики помогают нам узнать о реальных проблемах пользователей.
- Как мы храним графики в RRD. Мониторинг этих графиков: User activity monitoring.
- Zabbix -> RRD => Capacity Planning.
Как быстро найти слабые места среди кластеров в десятки и сотни нод.

Badoo Development

December 03, 2013
Tweet

Other Decks in Technology

Transcript

  1. • Zabbix ◦ Zabbix 1 ◦ Zabbix 2 • Pinba

    • RRD • User Activity Monitoring Что мы используем?
  2. • 3 датацентра • 2.500 реальных хостов и алиасов •

    230.000 метрик • 290.000 триггеров • Примерно 1.000 метрик в секунду Zabbix
  3. • Только обнаружение проблем, минимум графиков • Храним историю 1

    день • Не храним тренды • Не храним ивенты (отдельная статистика) Zabbix 1
  4. Discovery, автоматизация • DNS. A-запись = один реальный хост ◦

    “чистый” DNS ◦ Доменные имена для сервисов - CNAME ▪ дополнительная логика обнаружений сервисов • Новые хосты - новый тикет в мониторинг ◦ ручная “премодерация”, добавление и удаление в полуавтоматическом режиме Zabbix
  5. • Собственный фреймворк • Быстрое и удобное добавление графиков •

    Масштабируемость • Получение данных с помощью API RRD framework
  6. • “Лёгкий” мониторинг Nginx, PHP, etc (over UDP) • Статистика

    (avg, percentiles) по запросам и user defined timer внутри них • Хранилище, интерфейс - MySQL • Real-time отчёты ◦ by hostname, by script, by status, etc Больше - на http://pinba.org Pinba
  7. + Уже используем, не увеличиваем зоопарк + Алерты “из коробки”

    – MySQL загнется от объема данных – Ручное управление лимитами метрик Старый вариант – Zabbix
  8. Самописная утилита – User Activity Monitoring + Гибкая расширяемая система

    анализа данных + Экспорт данных (REST API) – Нужно писать код Новый вариант – UAM
  9. • Тесная итеграция с нашим RRD фреймворком • Простой интерфейс

    добавления метрик для мониторинга • Поддержка нескольких алгоритмов обработки данных ◦ анализ относительных значений ◦ анализ абсолютных значений • Импорт алертов в заббикс (лампочки) User Activity Monitoring
  10. • Использование дополнительного Zabbix’а для сбора данных о системе •

    Отсутствие триггеров и уведомлений • Хранение истории за несколько лет • Синхронизация хостов с Zabbix 1 Zabbix 2
  11. • Встроенные механизмы агрегации данных в Zabbix неудобны и ресурсоёмки

    • Нельзя получить одну метрику по всем серверам на едином графике “из коробки” Zabbix 2
  12. • amean - среднее арифметическое • median - среднее (сортируем,

    выбираем среднее значение) • range - разница между max и min значением • percentile 95% - для 95% машин метрика не выше указанного значения Zabbix 2 + RRD