Связка ELK + Zabbix
Иван Мельничук
комплексный трекинг состояния проекта
Знакомимся: Мельничук Иван
Сколько делаю:
Чё делаю: Чё умею:
Head of programming
department in Nexteum
10 лет опыта разработки.
3,5 года разработка highload
продуктов.
План
1. Поговорим о насущном
2. Проблемы “на определенном” этапе проекта
3. ELK
4. Но где же серверная составляющая (Zabbix, etc.)
5. Выводы
Из проекта в фазе ‘Всё хорошо’ в фазу ‘У нас медленно
отдаются страницы’
Поговорим о насущном
Основные составляющие ‘насущного сайта’
1. Мы делали просто сайт
2. Добавили контент
3. Добавили щепотку посетителей
4. Googlebot, AdsBot, Bingbot + любой другой парсер
Заказчик: Аналитика Google Analytics говорит что у нас
проблема.
Разработчики: Она не 100% так как там учитывается часть
трафика
Заказчик: Так как мне узнать правду?
Разработчики: Давайте начнем свой ‘Велосипед’ ||
Используем ЕЛК
Диалог
Основная радость/проблема - это РОСТ ТРАФИКА!
Проблемы ‘на определенном’
этапе проекта
Рост трафика == нагрузка на мощности!
Проблемы ‘на определенном’
этапе проекта
Проблема: Просто все тупит
Решение: Горизонтальное масштабирование
Основные проблемные места
Проблема: Чтение с винта
Решение: Выносим в хранилище типа Memcache,
Redis, NO SQL solutions
Основные проблемные места
Проблема: Не оптимизированное чтение из базы
Решение: Оптимизация запросов, кэширование
Основные проблемные места
Проблема: Исполняемые скрипты
Решение: Оптимизация скриптов
Основные проблемные места
НО КАК ОПРЕДЕЛИТЬ ЧТО ИМЕННО СОЗДАЕТ
ПРОБЛЕМЫ В ОГРОМНОМ ПРОЕКТЕ?
ELK
ELK: схема формирования логов
Открытие страницы
Собираем переменные Apache || Nginx
Шифруем и кладем в syslog-ng
Logstash фильтрация + форматирование
и запись в индекс ElasticSearch
Kibana вывод графика
ELK: плюсы
1. Простота в имплементации
2. Гибкость за счет переменных Apache | Nginx
3. Возможность логировать сторонние сервисы
ELK: минусы
1. Сетевые нагрузки
2. Большое количество занимаемого места на винтах
ELK: дополнительные возможности
1. Логировать тайминги мемкеша
2. Логировать тайминги ответа запросов
3. Логировать тайминги подключения к базе данных
ELK
Zabbix, ETC
Zabbix, ETC
Zabbix - свободная система мониторинга и отслеживания
статусов разнообразных сервисов компьютерной сети,
серверов и сетевого оборудования.
Zabbix, ETC
Есть также возможность сразу добавлять логи в ELK
ELK: возможные графики
1. Сравнение с предыдущим промежутком времени
2. График по типам страниц
3. По типам юзер агентов/IP (возможность трекать часть ботов)
4. График по скорости ответа сторонних сервисов
ELK: пример использования
от обнаружения до релиза
Шаг первый Обнаружение причин:
1. Обнаружена проблема со скоростью отдачи страниц
2. Есть редкие медленные ответы по 95 персентилю
3. Проверив все сервисы, узнали, что проблема в базе данных
4. Проблема с подключениями к базе данных
ELK
Решение: Добавить слейв и читать с него для части пользователей
Теперь нужно отследить результаты.
ELK: график трафика за 24 часа
Сервера
Результат
Выводы
1. ELK — неплохой инструмент для статистики
2. Не сложен в имплементации в проект
3. Требуется на этапах, когда ‘уже сложно следить за проектом’
4. Хорошая замена Google статистики
ELK + Else
https://habrahabr.ru/post/277029/ https://habrahabr.ru/post/277029/ https://habrahabr.ru/post/277029/

Быстрый в имплементации и в работе мониторинг с использованием ELK

  • 1.
    Связка ELK +Zabbix Иван Мельничук комплексный трекинг состояния проекта
  • 2.
    Знакомимся: Мельничук Иван Сколькоделаю: Чё делаю: Чё умею: Head of programming department in Nexteum 10 лет опыта разработки. 3,5 года разработка highload продуктов.
  • 3.
    План 1. Поговорим онасущном 2. Проблемы “на определенном” этапе проекта 3. ELK 4. Но где же серверная составляющая (Zabbix, etc.) 5. Выводы
  • 4.
    Из проекта вфазе ‘Всё хорошо’ в фазу ‘У нас медленно отдаются страницы’ Поговорим о насущном
  • 5.
    Основные составляющие ‘насущногосайта’ 1. Мы делали просто сайт 2. Добавили контент 3. Добавили щепотку посетителей 4. Googlebot, AdsBot, Bingbot + любой другой парсер
  • 6.
    Заказчик: Аналитика GoogleAnalytics говорит что у нас проблема. Разработчики: Она не 100% так как там учитывается часть трафика Заказчик: Так как мне узнать правду? Разработчики: Давайте начнем свой ‘Велосипед’ || Используем ЕЛК Диалог
  • 7.
    Основная радость/проблема -это РОСТ ТРАФИКА! Проблемы ‘на определенном’ этапе проекта
  • 8.
    Рост трафика ==нагрузка на мощности! Проблемы ‘на определенном’ этапе проекта
  • 9.
    Проблема: Просто всетупит Решение: Горизонтальное масштабирование Основные проблемные места
  • 10.
    Проблема: Чтение свинта Решение: Выносим в хранилище типа Memcache, Redis, NO SQL solutions Основные проблемные места
  • 11.
    Проблема: Не оптимизированноечтение из базы Решение: Оптимизация запросов, кэширование Основные проблемные места
  • 12.
    Проблема: Исполняемые скрипты Решение:Оптимизация скриптов Основные проблемные места
  • 13.
    НО КАК ОПРЕДЕЛИТЬЧТО ИМЕННО СОЗДАЕТ ПРОБЛЕМЫ В ОГРОМНОМ ПРОЕКТЕ?
  • 14.
  • 15.
    ELK: схема формированиялогов Открытие страницы Собираем переменные Apache || Nginx Шифруем и кладем в syslog-ng Logstash фильтрация + форматирование и запись в индекс ElasticSearch Kibana вывод графика
  • 16.
    ELK: плюсы 1. Простотав имплементации 2. Гибкость за счет переменных Apache | Nginx 3. Возможность логировать сторонние сервисы
  • 17.
    ELK: минусы 1. Сетевыенагрузки 2. Большое количество занимаемого места на винтах
  • 18.
    ELK: дополнительные возможности 1.Логировать тайминги мемкеша 2. Логировать тайминги ответа запросов 3. Логировать тайминги подключения к базе данных
  • 19.
  • 20.
  • 21.
    Zabbix, ETC Zabbix -свободная система мониторинга и отслеживания статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования.
  • 22.
    Zabbix, ETC Есть такжевозможность сразу добавлять логи в ELK
  • 23.
    ELK: возможные графики 1.Сравнение с предыдущим промежутком времени 2. График по типам страниц 3. По типам юзер агентов/IP (возможность трекать часть ботов) 4. График по скорости ответа сторонних сервисов
  • 24.
    ELK: пример использования отобнаружения до релиза Шаг первый Обнаружение причин: 1. Обнаружена проблема со скоростью отдачи страниц 2. Есть редкие медленные ответы по 95 персентилю 3. Проверив все сервисы, узнали, что проблема в базе данных 4. Проблема с подключениями к базе данных
  • 25.
    ELK Решение: Добавить слейви читать с него для части пользователей Теперь нужно отследить результаты.
  • 26.
  • 27.
  • 28.
  • 29.
    Выводы 1. ELK —неплохой инструмент для статистики 2. Не сложен в имплементации в проект 3. Требуется на этапах, когда ‘уже сложно следить за проектом’ 4. Хорошая замена Google статистики
  • 30.
    ELK + Else https://habrahabr.ru/post/277029/https://habrahabr.ru/post/277029/ https://habrahabr.ru/post/277029/