2. Ghbdtn!
• Всеволод Поляков
• Lead DevOps Grammarly
• поддержка около 30
сервисов на Java, erlang,
python, lisp, ruby, js силами
4-х админов
3.
4. Чего мы хотим?
• Получать сообщения о проблемах
• Не получать сообщения когда проблем нет
• Помощь в поиске проблемы
• Предупреждение о возможных проблемах
• Не пропускать проблемы
6. Почему старое плохо?
• Свои сложные концепции
• Сложно для девелоперов
• Содержит в себе все что может пригодиться,
а может и не пригодиться
• Две системы управления конфигурацией
9. Пожелания
• Простота добавления метрик и проверок по
ним
• Должно скейлиться и не падать
• Хранить информацию по метрикам как можно
дольше
• Хранить много метрик
• Разработчики мониторят свои сервисы без
участия опсов
10. • Логи: 300 Gb/день
• Метрики: 120 000, после агрегации,
обновляются раз в 10 секунд
• 300 проверок состояний
• Разработчики всех сервисов отвечают за
мониторинг
• Занятость команды админов в мониторинге
минимальна
22. Жизнь с Heka
Server
Hekad
Elasticsearch
Graphite
x 4x 300
x 2
app & server
metrics
metrics from
logs
logs
Полная конфигурация мониторинга
приложения находится в одном месте
Statsd
Logstash
-fw
Logstash
gateway
Statsd x3
✓
23. Стабильность HTTP
сервисов
● health-чеки ок, но их мало
● нужно мониторить error логи сервисов
● нужно собирать статистику статусов и времени отклика
всех http запросов
● нужно взвешивать показатели относительно количества
уникальных пользователей
● e.g. “% пользователей, получивших http 50x для сервиса за
последние N минут”
24. ● подсчет укикальных значений по большому массиву
данных в реальном времени — непростая задача
● Elasticsearch HyperLogLog++ алгоритм с нечеткой логикой,
лучше подходит для оффлайн анализа
● statsd - считаем уники распределенно, но не группируем
● в идеале, сделать риалтаймовую и распределенную?
молотилку для уников и гистограмм
Считалка уников
26. Слайд по всяким штукам
• 500-е, уникальные юзеры
• разработчики сами все мониторят и
просыпаются ночью
• сравнение времени обработки чего-то в
фронтенде и на бекенде
• сквозной userID по всем сервисам
27. Над чем мы думаем
• Мониторинг безымянных серверов
• Коллекция и хранение метрик приложений в
mesos/kubernetes окружениях
zabbix, nagios — для этого созданы, но они не рабтают
просыпаться каждую ночь жена готова разбить телефон, ужас, уныние
Мониторинг — это попытка сопоставить смену состояний чего угодно с какими-то нужными нам изменениями.
добавить алерт идут в опсам
Текущие системы - вещь в себе
скейл и хай авабилити
Интерфейсы
Метрики
каналы связи
хранение метрик
хранение метрик
Чтобы нас не распяли на дверном косяке вниз головой