Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)

683 visualizaciones

Publicado el

Почти год назад мы завершили проект по универсальному мониторингу и в процессе приобрели кучу секретных знаний и умений, которыми хотим поделиться:
* как сделать мониторинг простым, отказоустойчивым и горизонтально масштабируемым;
* как понять, что важно, что не важно, а что важно, но чуть-чуть;
* полезные логи: конвертация логов в метрики и обратно;
* как диагностировать реальные проблемы и отличить их от ложной тревоги (на примере связки js-фронтенд + балансеры + java-бэкенд);
* и, конечно же, как внедрить практики DevOps посредством мониторинга (и подготовить разработчиков к тому, что они ответственны за алерты).


Стек мониторинга: sensu, graphite, cassandra, logstash, heka, influxdb, elsticsearch, chef, statsd, nginx.
Стек поддержки: js, java, erlang, lisp, python, ruby, nginx, mysql, haproxy

Publicado en: Ingeniería
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)

  1. 1. Путь мониторинга модульность, гибкость, devops
  2. 2. Ghbdtn! • Всеволод Поляков • Lead DevOps Grammarly • поддержка около 30 сервисов на Java, erlang, python, lisp, ruby, js силами 4- х админов
  3. 3. Чего мы хотим? • Получать сообщения о проблемах • Не получать сообщения когда проблем нет • Помощь в поиске проблемы • Предупреждение о возможных проблемах • Не пропускать проблемы
  4. 4. DevOps • Разработчики знают сервис лучше чем опсы • Нет батлнека в опс команде • Повышается скорость работы
  5. 5. Почему старое плохо? • Свои сложные концепции • Сложно для девелоперов • Содержит в себе все что может пригодиться, а может и не пригодиться • Две системы управления конфигурацией
  6. 6. Метрики • env.role.node_name.metric • Приложение пишет метрики в statsd • Система пишет метрики в statsd • Агрегируем и чекаем сами, без приложения
  7. 7. Пожелания • Простота добавления метрик и проверок по ним • Должно скейлиться и не падать • Хранить информацию по метрикам как можно дольше • Хранить много метрик • Разработчики мониторят свои сервисы без участия опсов
  8. 8. • Логи: 300 Gb/день • Метрики: 120 000, обновляются раз в 10 секунд • 300 проверок состояний • Разработчики всех сервисов отвечают за мониторинг • Занятость команды админов в мониторинге минимальна
  9. 9. Sensu
  10. 10. influx • Маленькая база на go ~ 20mb RAM • Локальная база на каждом сервере • Хранилище метрик на два дня
  11. 11. Сбор метрик в ноде
  12. 12. Глобальное хранилище
  13. 13. скрин графаны
  14. 14. Логи • Общий формат для всех сервисов: json • Текстовый файл с logrotate
  15. 15. Мониторинг фронтенда • Логи → nginx → logstash • Метрики → nginx → агрегатор → statsd • Плагин для логстеша, разворачивает сорсмап
  16. 16. Слайд по всяким штукам • 500-е, уникальные юзеры • разработчики сами все мониторят и просыпаются ночью • сравнение времени обработки чего-то в фронтенде и на бекенде • сквозной userID по всем сервисам
  17. 17. Над чем мы думаем • Мониторинг безымянных серверов • Хранение метрик приложений в mesoskubernetis окружениях

×