SlideShare a Scribd company logo
1 of 28
Путь мониторинга
модульность.гибкость.devops
Ghbdtn!
• Всеволод Поляков
• Lead DevOps Grammarly
• поддержка около 30
сервисов на Java, erlang,
python, lisp, ruby, js силами
4-х админов
Чего мы хотим?
• Получать сообщения о проблемах
• Не получать сообщения когда проблем нет
• Помощь в поиске проблемы
• Предупреждение о возможных проблемах
• Не пропускать проблемы
DevOps
• Разработчики знают сервис лучше чем опсы
• Нет батлнека в опс команде
• Повышается скорость работы
Почему старое плохо?
• Свои сложные концепции
• Сложно для девелоперов
• Содержит в себе все что может пригодиться,
а может и не пригодиться
• Две системы управления конфигурацией
Метрики
• env.role.node_name.metric
• Приложение пишет метрики в statsd
• Система пишет метрики в statsd
• Агрегируем и чекаем сами, без приложения
Statsd
• Агрегируем сами
• metric.name:1|c
• каунтеры, гауджи и таймеры
Пожелания
• Простота добавления метрик и проверок по
ним
• Должно скейлиться и не падать
• Хранить информацию по метрикам как можно
дольше
• Хранить много метрик
• Разработчики мониторят свои сервисы без
участия опсов
• Логи: 300 Gb/день
• Метрики: 120 000, после агрегации,
обновляются раз в 10 секунд
• 300 проверок состояний
• Разработчики всех сервисов отвечают за
мониторинг
• Занятость команды админов в мониторинге
минимальна
Sensu
influx
• Маленькая база на go ~ 20mb RAM
• Локальная база на каждом сервере
• Хранилище метрик на два дня
Сбор метрик в ноде
Глобальное хранилище
скрин графаны
Логи
• Общий формат для всех сервисов: json
• Текстовый файл с logrotate
Мониторинг фронтенда
Web browser Web browser Web browser
Nginx
x 2
Access logs
Logstash
Elasticsearch x 3
Statsd
Graphite
Graphana Kibana
x 2
Мониторинг фронтенда
metrics codec
Logstash
metrics data
~ 2600 RPS
~ 90 GiB / day
logs data
~ 450 RPS
~ 50 GiB / day
Nginx access logs
statsd
logs codec
(source maps)
elasticsearch
tail *.log files
UDP HTTP
Heka - by Mozilla
• Hekad ~~ легковесный и ускоренный Logstash
• Можно ставить на каждый сервер
• Может объединить сбор метрик и логов
Heka - by Mozilla
Hekad - single process, plugins by configuration
Inputs Decoders Filters Encoders Outputs
● File
polling
● File tailing
● HTTP
● TCP/UDP
● Kafka
● nagios
checks
● statsd
● Framing
● Regex
● Token
Splitters
● JSON
● Access
logs
● Geo IP
● Linux
Stats
● Protobuf
● Rsyslog
● MySQL
slow log
● Counter
● Anomaly
detection
● Frequent
items
● Unique
● HTTP
status
graph
● Alert
● Elasticsearc
h
● Stats
● Influxdb
schema
● JSON
● AMQP
● Carbon
● Elasticsearc
h
● File
● HTTP
● IRC
● Kafka
● Log
● Nagios
● SMTP
Жизнь без Heka
Server
Statsd
Logstash-fw
Elasticsearch
Graphite
Logstash
gateway
Statsd
x 3
x 4
x 300
x 2app & server
metrics
metrics from
logs
logs
Жизнь с Heka
Server
Hekad
Elasticsearch
Graphite
x 4x 300
x 2
app & server
metrics
metrics from
logs
logs
Полная конфигурация мониторинга
приложения находится в одном месте
Statsd
Logstash
-fw
Logstash
gateway
Statsd x3
✓
Стабильность HTTP
сервисов
● health-чеки ок, но их мало
● нужно мониторить error логи сервисов
● нужно собирать статистику статусов и времени отклика
всех http запросов
● нужно взвешивать показатели относительно количества
уникальных пользователей
● e.g. “% пользователей, получивших http 50x для сервиса за
последние N минут”
● подсчет укикальных значений по большому массиву
данных в реальном времени — непростая задача
● Elasticsearch HyperLogLog++ алгоритм с нечеткой логикой,
лучше подходит для оффлайн анализа
● statsd - считаем уники распределенно, но не группируем
● в идеале, сделать риалтаймовую и распределенную?
молотилку для уников и гистограмм
Считалка уников
Стабильность HTTP
сервисов
Слайд по всяким штукам
• 500-е, уникальные юзеры
• разработчики сами все мониторят и
просыпаются ночью
• сравнение времени обработки чего-то в
фронтенде и на бекенде
• сквозной userID по всем сервисам
Над чем мы думаем
• Мониторинг безымянных серверов
• Коллекция и хранение метрик приложений в
mesos/kubernetes окружениях
Спасибо.
мои контакты:
ctrlok@gmail.com
github.com/ctrlok
skype: ctrlok1987
мои контакты2:
yuriy.bogdanov@grammarly.com
github.com/ybogdanov

More Related Content

What's hot

Devconf-2015 Тестируем инфраструктуру как код
Devconf-2015 Тестируем инфраструктуру как кодDevconf-2015 Тестируем инфраструктуру как код
Devconf-2015 Тестируем инфраструктуру как кодIgor Kurochkin
 
Workflows в Express 42
Workflows в Express 42Workflows в Express 42
Workflows в Express 42Igor Kurochkin
 
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Ontico
 
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...Ontico
 
Rootconf-2015 Тестируем инфраструктуру как код
Rootconf-2015 Тестируем инфраструктуру как кодRootconf-2015 Тестируем инфраструктуру как код
Rootconf-2015 Тестируем инфраструктуру как кодIgor Kurochkin
 
Денис Иванов
Денис ИвановДенис Иванов
Денис ИвановCodeFest
 
Порядок для скорости. Система структурирования фронтендовой части веб-приложе...
Порядок для скорости. Система структурирования фронтендовой части веб-приложе...Порядок для скорости. Система структурирования фронтендовой части веб-приложе...
Порядок для скорости. Система структурирования фронтендовой части веб-приложе...Ontico
 
ELK: менеджмент логов, быстрая локализация проблем / Сергей Шумов (News360)
ELK: менеджмент логов, быстрая локализация проблем / Сергей Шумов (News360)ELK: менеджмент логов, быстрая локализация проблем / Сергей Шумов (News360)
ELK: менеджмент логов, быстрая локализация проблем / Сергей Шумов (News360)Ontico
 
My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016Alex Chistyakov
 
Антон Галицын
Антон ГалицынАнтон Галицын
Антон ГалицынCodeFest
 
Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".
Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".
Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".Badoo Development
 
Why we did not choose Hadoop
Why we did not choose HadoopWhy we did not choose Hadoop
Why we did not choose HadoopSerguei Gitinsky
 
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...Ontico
 
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015Zabbix
 
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...Ontico
 

What's hot (16)

Devconf-2015 Тестируем инфраструктуру как код
Devconf-2015 Тестируем инфраструктуру как кодDevconf-2015 Тестируем инфраструктуру как код
Devconf-2015 Тестируем инфраструктуру как код
 
Workflows в Express 42
Workflows в Express 42Workflows в Express 42
Workflows в Express 42
 
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
 
Sivko
SivkoSivko
Sivko
 
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...
 
Rootconf-2015 Тестируем инфраструктуру как код
Rootconf-2015 Тестируем инфраструктуру как кодRootconf-2015 Тестируем инфраструктуру как код
Rootconf-2015 Тестируем инфраструктуру как код
 
Денис Иванов
Денис ИвановДенис Иванов
Денис Иванов
 
Порядок для скорости. Система структурирования фронтендовой части веб-приложе...
Порядок для скорости. Система структурирования фронтендовой части веб-приложе...Порядок для скорости. Система структурирования фронтендовой части веб-приложе...
Порядок для скорости. Система структурирования фронтендовой части веб-приложе...
 
ELK: менеджмент логов, быстрая локализация проблем / Сергей Шумов (News360)
ELK: менеджмент логов, быстрая локализация проблем / Сергей Шумов (News360)ELK: менеджмент логов, быстрая локализация проблем / Сергей Шумов (News360)
ELK: менеджмент логов, быстрая локализация проблем / Сергей Шумов (News360)
 
My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016
 
Антон Галицын
Антон ГалицынАнтон Галицын
Антон Галицын
 
Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".
Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".
Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".
 
Why we did not choose Hadoop
Why we did not choose HadoopWhy we did not choose Hadoop
Why we did not choose Hadoop
 
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
Continuous Delivery, или волшебная кнопка для релизов по запросу, Денис Яковл...
 
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
 
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
 

Viewers also liked

Мониторинг. Опять, rootconf 2016
Мониторинг. Опять, rootconf 2016Мониторинг. Опять, rootconf 2016
Мониторинг. Опять, rootconf 2016Vsevolod Polyakov
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Ontico
 
Путь мониторинга 2.0 всё стало другим / Всеволод Поляков (Grammarly)
Путь мониторинга 2.0 всё стало другим / Всеволод Поляков (Grammarly)Путь мониторинга 2.0 всё стало другим / Всеволод Поляков (Grammarly)
Путь мониторинга 2.0 всё стало другим / Всеволод Поляков (Grammarly)Ontico
 
Infrastructure as code might be literally impossible part 2
Infrastructure as code might be literally impossible part 2Infrastructure as code might be literally impossible part 2
Infrastructure as code might be literally impossible part 2ice799
 
Nginx Workshop Aftermath
Nginx Workshop AftermathNginx Workshop Aftermath
Nginx Workshop AftermathDenis Zhdanov
 
ElacticSearch в связке с MODX Revo - MODX Meetup Minsk
ElacticSearch в связке с MODX Revo - MODX Meetup MinskElacticSearch в связке с MODX Revo - MODX Meetup Minsk
ElacticSearch в связке с MODX Revo - MODX Meetup MinskMODX Беларусь
 
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...Tanya Denisyuk
 
кри 2014 elastic search рациональный подход к созданию собственной системы а...
кри 2014 elastic search  рациональный подход к созданию собственной системы а...кри 2014 elastic search  рациональный подход к созданию собственной системы а...
кри 2014 elastic search рациональный подход к созданию собственной системы а...Vyacheslav Nikulin
 
Использование Elasticsearch для организации поиска по сайту
Использование Elasticsearch для организации поиска по сайтуИспользование Elasticsearch для организации поиска по сайту
Использование Elasticsearch для организации поиска по сайтуOlga Lavrentieva
 
ElasticSearch at berlinbuzzwords 2010
ElasticSearch at berlinbuzzwords 2010ElasticSearch at berlinbuzzwords 2010
ElasticSearch at berlinbuzzwords 2010Elasticsearch
 
Автоматизация анализа логов на базе Elasticsearch
Автоматизация анализа логов на базе ElasticsearchАвтоматизация анализа логов на базе Elasticsearch
Автоматизация анализа логов на базе ElasticsearchPositive Hack Days
 
Shadow Fight 2: архитектура системы аналитики для миллиарда событий
Shadow Fight 2: архитектура системы аналитики для миллиарда событийShadow Fight 2: архитектура системы аналитики для миллиарда событий
Shadow Fight 2: архитектура системы аналитики для миллиарда событийVyacheslav Nikulin
 
2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch
2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch
2013-02-02 03 Голушко. Полнотекстовый поиск с ElasticsearchОмские ИТ-субботники
 
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Ontico
 
Elastic search overview
Elastic search overviewElastic search overview
Elastic search overviewABC Talks
 
Elasticsearch in 15 minutes
Elasticsearch in 15 minutesElasticsearch in 15 minutes
Elasticsearch in 15 minutesDavid Pilato
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to ElasticsearchRuslan Zavacky
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Ontico
 
Introduction to Elasticsearch with basics of Lucene
Introduction to Elasticsearch with basics of LuceneIntroduction to Elasticsearch with basics of Lucene
Introduction to Elasticsearch with basics of LuceneRahul Jain
 

Viewers also liked (20)

Мониторинг. Опять, rootconf 2016
Мониторинг. Опять, rootconf 2016Мониторинг. Опять, rootconf 2016
Мониторинг. Опять, rootconf 2016
 
Metrics: where and how
Metrics: where and howMetrics: where and how
Metrics: where and how
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
 
Путь мониторинга 2.0 всё стало другим / Всеволод Поляков (Grammarly)
Путь мониторинга 2.0 всё стало другим / Всеволод Поляков (Grammarly)Путь мониторинга 2.0 всё стало другим / Всеволод Поляков (Grammarly)
Путь мониторинга 2.0 всё стало другим / Всеволод Поляков (Grammarly)
 
Infrastructure as code might be literally impossible part 2
Infrastructure as code might be literally impossible part 2Infrastructure as code might be literally impossible part 2
Infrastructure as code might be literally impossible part 2
 
Nginx Workshop Aftermath
Nginx Workshop AftermathNginx Workshop Aftermath
Nginx Workshop Aftermath
 
ElacticSearch в связке с MODX Revo - MODX Meetup Minsk
ElacticSearch в связке с MODX Revo - MODX Meetup MinskElacticSearch в связке с MODX Revo - MODX Meetup Minsk
ElacticSearch в связке с MODX Revo - MODX Meetup Minsk
 
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
 
кри 2014 elastic search рациональный подход к созданию собственной системы а...
кри 2014 elastic search  рациональный подход к созданию собственной системы а...кри 2014 elastic search  рациональный подход к созданию собственной системы а...
кри 2014 elastic search рациональный подход к созданию собственной системы а...
 
Использование Elasticsearch для организации поиска по сайту
Использование Elasticsearch для организации поиска по сайтуИспользование Elasticsearch для организации поиска по сайту
Использование Elasticsearch для организации поиска по сайту
 
ElasticSearch at berlinbuzzwords 2010
ElasticSearch at berlinbuzzwords 2010ElasticSearch at berlinbuzzwords 2010
ElasticSearch at berlinbuzzwords 2010
 
Автоматизация анализа логов на базе Elasticsearch
Автоматизация анализа логов на базе ElasticsearchАвтоматизация анализа логов на базе Elasticsearch
Автоматизация анализа логов на базе Elasticsearch
 
Shadow Fight 2: архитектура системы аналитики для миллиарда событий
Shadow Fight 2: архитектура системы аналитики для миллиарда событийShadow Fight 2: архитектура системы аналитики для миллиарда событий
Shadow Fight 2: архитектура системы аналитики для миллиарда событий
 
2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch
2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch
2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch
 
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Движение по хрупкому дну / Сергей Караткевич (servers.ru)
Движение по хрупкому дну / Сергей Караткевич (servers.ru)
 
Elastic search overview
Elastic search overviewElastic search overview
Elastic search overview
 
Elasticsearch in 15 minutes
Elasticsearch in 15 minutesElasticsearch in 15 minutes
Elasticsearch in 15 minutes
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
 
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
 
Introduction to Elasticsearch with basics of Lucene
Introduction to Elasticsearch with basics of LuceneIntroduction to Elasticsearch with basics of Lucene
Introduction to Elasticsearch with basics of Lucene
 

Similar to Путь мониторинга, DevOps club в Grammarly

Карта граблей на поле сбора и доставки логов. Lazada-way.
Карта граблей на поле сбора и доставки логов. Lazada-way.Карта граблей на поле сбора и доставки логов. Lazada-way.
Карта граблей на поле сбора и доставки логов. Lazada-way.Yury Bushmelev
 
DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.Alexander Titov
 
Построение системы аналитики
Построение системы аналитикиПостроение системы аналитики
Построение системы аналитикиИлья Середа
 
Введение в Python и Django
Введение в Python и DjangoВведение в Python и Django
Введение в Python и DjangoTaras Lyapun
 
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)Ontico
 
обзор архитектуры и подсистем деплоя и мониторинга
обзор архитектуры и подсистем деплоя и мониторингаобзор архитектуры и подсистем деплоя и мониторинга
обзор архитектуры и подсистем деплоя и мониторингаКонстантин Никифоров
 
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...Ontico
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Anton Baranov
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayAndrey Rebrov
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in productionAnatoly Popov
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, SkypeOntico
 
AVITO. Решардинг Redis без даунтайма. DevConf 2012
AVITO. Решардинг Redis без даунтайма. DevConf 2012AVITO. Решардинг Redis без даунтайма. DevConf 2012
AVITO. Решардинг Redis без даунтайма. DevConf 2012Roman Pavlushko
 
"OLAP с помощью Postgres (как мы строили BI)" Фефелов Андрей, Mastery.pro
"OLAP с помощью Postgres (как мы строили BI)" Фефелов Андрей, Mastery.pro"OLAP с помощью Postgres (как мы строили BI)" Фефелов Андрей, Mastery.pro
"OLAP с помощью Postgres (как мы строили BI)" Фефелов Андрей, Mastery.proit-people
 
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...Positive Hack Days
 
Golang в avito
Golang в avitoGolang в avito
Golang в avitoAvitoTech
 
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...rit2011
 
Страх и ненависть в мире релиз-инжиниринга
Страх и ненависть в мире релиз-инжинирингаСтрах и ненависть в мире релиз-инжиниринга
Страх и ненависть в мире релиз-инжинирингаMikhail Chinkov
 
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Ontico
 
Monitoring-driven эксплуатация (rootconf2015)
Monitoring-driven эксплуатация (rootconf2015)Monitoring-driven эксплуатация (rootconf2015)
Monitoring-driven эксплуатация (rootconf2015)Nikolay Sivko
 

Similar to Путь мониторинга, DevOps club в Grammarly (20)

Карта граблей на поле сбора и доставки логов. Lazada-way.
Карта граблей на поле сбора и доставки логов. Lazada-way.Карта граблей на поле сбора и доставки логов. Lazada-way.
Карта граблей на поле сбора и доставки логов. Lazada-way.
 
DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.
 
Построение системы аналитики
Построение системы аналитикиПостроение системы аналитики
Построение системы аналитики
 
Введение в Python и Django
Введение в Python и DjangoВведение в Python и Django
Введение в Python и Django
 
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
 
Errors Tracker
Errors TrackerErrors Tracker
Errors Tracker
 
обзор архитектуры и подсистем деплоя и мониторинга
обзор архитектуры и подсистем деплоя и мониторингаобзор архитектуры и подсистем деплоя и мониторинга
обзор архитектуры и подсистем деплоя и мониторинга
 
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps way
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in production
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, Skype
 
AVITO. Решардинг Redis без даунтайма. DevConf 2012
AVITO. Решардинг Redis без даунтайма. DevConf 2012AVITO. Решардинг Redis без даунтайма. DevConf 2012
AVITO. Решардинг Redis без даунтайма. DevConf 2012
 
"OLAP с помощью Postgres (как мы строили BI)" Фефелов Андрей, Mastery.pro
"OLAP с помощью Postgres (как мы строили BI)" Фефелов Андрей, Mastery.pro"OLAP с помощью Postgres (как мы строили BI)" Фефелов Андрей, Mastery.pro
"OLAP с помощью Postgres (как мы строили BI)" Фефелов Андрей, Mastery.pro
 
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
 
Golang в avito
Golang в avitoGolang в avito
Golang в avito
 
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
 
Страх и ненависть в мире релиз-инжиниринга
Страх и ненависть в мире релиз-инжинирингаСтрах и ненависть в мире релиз-инжиниринга
Страх и ненависть в мире релиз-инжиниринга
 
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
 
Monitoring-driven эксплуатация (rootconf2015)
Monitoring-driven эксплуатация (rootconf2015)Monitoring-driven эксплуатация (rootconf2015)
Monitoring-driven эксплуатация (rootconf2015)
 

Путь мониторинга, DevOps club в Grammarly

  • 2. Ghbdtn! • Всеволод Поляков • Lead DevOps Grammarly • поддержка около 30 сервисов на Java, erlang, python, lisp, ruby, js силами 4-х админов
  • 3.
  • 4. Чего мы хотим? • Получать сообщения о проблемах • Не получать сообщения когда проблем нет • Помощь в поиске проблемы • Предупреждение о возможных проблемах • Не пропускать проблемы
  • 5. DevOps • Разработчики знают сервис лучше чем опсы • Нет батлнека в опс команде • Повышается скорость работы
  • 6. Почему старое плохо? • Свои сложные концепции • Сложно для девелоперов • Содержит в себе все что может пригодиться, а может и не пригодиться • Две системы управления конфигурацией
  • 7. Метрики • env.role.node_name.metric • Приложение пишет метрики в statsd • Система пишет метрики в statsd • Агрегируем и чекаем сами, без приложения
  • 8. Statsd • Агрегируем сами • metric.name:1|c • каунтеры, гауджи и таймеры
  • 9. Пожелания • Простота добавления метрик и проверок по ним • Должно скейлиться и не падать • Хранить информацию по метрикам как можно дольше • Хранить много метрик • Разработчики мониторят свои сервисы без участия опсов
  • 10. • Логи: 300 Gb/день • Метрики: 120 000, после агрегации, обновляются раз в 10 секунд • 300 проверок состояний • Разработчики всех сервисов отвечают за мониторинг • Занятость команды админов в мониторинге минимальна
  • 11. Sensu
  • 12. influx • Маленькая база на go ~ 20mb RAM • Локальная база на каждом сервере • Хранилище метрик на два дня
  • 16. Логи • Общий формат для всех сервисов: json • Текстовый файл с logrotate
  • 17. Мониторинг фронтенда Web browser Web browser Web browser Nginx x 2 Access logs Logstash Elasticsearch x 3 Statsd Graphite Graphana Kibana x 2
  • 18. Мониторинг фронтенда metrics codec Logstash metrics data ~ 2600 RPS ~ 90 GiB / day logs data ~ 450 RPS ~ 50 GiB / day Nginx access logs statsd logs codec (source maps) elasticsearch tail *.log files UDP HTTP
  • 19. Heka - by Mozilla • Hekad ~~ легковесный и ускоренный Logstash • Можно ставить на каждый сервер • Может объединить сбор метрик и логов
  • 20. Heka - by Mozilla Hekad - single process, plugins by configuration Inputs Decoders Filters Encoders Outputs ● File polling ● File tailing ● HTTP ● TCP/UDP ● Kafka ● nagios checks ● statsd ● Framing ● Regex ● Token Splitters ● JSON ● Access logs ● Geo IP ● Linux Stats ● Protobuf ● Rsyslog ● MySQL slow log ● Counter ● Anomaly detection ● Frequent items ● Unique ● HTTP status graph ● Alert ● Elasticsearc h ● Stats ● Influxdb schema ● JSON ● AMQP ● Carbon ● Elasticsearc h ● File ● HTTP ● IRC ● Kafka ● Log ● Nagios ● SMTP
  • 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 окружениях
  • 28. Спасибо. мои контакты: ctrlok@gmail.com github.com/ctrlok skype: ctrlok1987 мои контакты2: yuriy.bogdanov@grammarly.com github.com/ybogdanov

Editor's Notes

  1. подумать сервисов
  2. zabbix, nagios — для этого созданы, но они не рабтают просыпаться каждую ночь жена готова разбить телефон, ужас, уныние
  3. Мониторинг — это попытка сопоставить смену состояний чего угодно с какими-то нужными нам изменениями. добавить алерт идут в опсам Текущие системы - вещь в себе скейл и хай авабилити Интерфейсы Метрики каналы связи
  4. хранение метрик
  5. хранение метрик
  6. Чтобы нас не распяли на дверном косяке вниз головой