SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Software Craftsmanship
meetup #9
Логирование, мониторинг,
оповещения
Павел Вейник
CTO @ Splitmetrics
CEO @ Hard & Soft Skills
Мы на новом месте
Зарегистрировались 150 человек ровно
Наш второй митап в ШАГе
План митапов
1. Software Craftsmanship & Agile.
Как не делать говно?
2. Принципы хранения данных
3. Обзор баз данных
4. Очереди сообщений
5. Кэши и файловые хранилища
План митапов
6. Как Software Craftsmanship фиксит проблемы Agile
7. БД: проектирование, масштабирование,
шардирование, реплицирование…
8. Процессы и инструменты для CI/CD
9. Логирование и мониторинг
10. Распределенные транзакции
Что интересует вас
 Репортинг – процессы
 Недостаток логгирования
 Поиск логов
 Агрегирование логов
 Как и что логировать
 Доступ к логам для QA/BA
 Мониторинг ошибок
 Что мониторить
 Нет автоанализа логов
 Малоинформативные логи
 Выбор инструмента для
логов
 Живучесть
Что интересует вас
 Шаринг дашбордов
мониторинга
 Отлов новых ошибок
 Отделить важное от
неважного
 Быстрая реакция на
проблемы
 Сколько логировать
 Логирование когда много
сервисов
 Мало логов
 Профайлинг логирования
 Просмотр и визуализация
логов
План этого митапа
1. Что такое логирование, мониторинг,
оповещения
2. Схема построения
3. Инструменты мониторинга
4. Best practices логирования
Мониторинг
Мониторинг – процесс узнавания о системе
Активный – смотреть графики
Пассивный – получать оповещения
Многозначное понятие
Может исключать участие человека
Мониторинг
Цель мониторинга
Идентифицировать проблемы и сбои и
помогать в исправлении
Прогнозировать проблемы и сбои
Облегчать принятие решений
Автоматизировать реакцию на изменения системы
Оповещения (alerts)
Часть мониторинга
Информирование оператора о том, что
состояние системы существенно
изменилось
Alarm
Часть мониторинга
Информирование оператора о том, что
система не может выполнять свою
функцию
Что мониторить
Доступность системы
Производительность
Использование основных ресурсов серверов
Загруженность очередей, кэшей и др
компонентов
Бизнес-метрики
Как настроить
Основные технические метрики
Место, память, CPU, сеть
Кэши, базы, очереди, сообщения
Время отклика по SLA
Ошибки в логах
Как настроить
Настроить сбор и отображение и подождать 2-3
недели
Понять baseline для неочевидных метрик
Настроить оповещения
Когда некритично превышен baseline
Настроить алармы
Когда критично превышен baseline
Какие метрики основные
Понять какая иерархия компонентов в системе
Понять какие метрики нужны каждому
компоненту и подкомпоненту
Мониторинг не должен играть роль юнит-тестов
Как поддерживать
Добавлять новые метрики при появлении
компонентов, серверов, SLA
Добавлять новые метрики когда понял какие
аспекты важны
Обновлять существующие алерты и алармы с
ростом системы
Как поддерживать
Удалять устаревшие метрики
В случае непредвиденной проблемы
Исправить ее
Провести анализ причин и почему не смогли
предвидеть
Добавить нужные метрики и алерты
Как поддерживать
На графики нужно смотреть
На алерты нужно реагировать
Удобный мониторинг позволяет понять одним
взглядом состояние системы или любого
компонента
Как поддерживать
Процесс работы с мониторингом
Кто смотрит
Когда смотрит
Кто и что делает в случае алертов или алармов
Планирование времени
Инструменты мониторинга
Grafana
Prometheus
Graphite
Zabbix
InfluxDB (часть TICK - Telegraf, InfluxDB,
Chronograf and Kapacitor)
Инструменты мониторинга
Jaeger
ELK Stack
Endnotes
Nagios
StatsD
Cacti
Kibana
Fluentd
Sensu
Supervisord
NetData
Munin
Инструменты мониторинга
Collectd
Icinga
Sysdig
OpenTracing
Solarwinds
Zipkin
Nginx Amplify
Thanos
Pixi
Fabric.js
Laravel Telescope
Monit
Инструменты мониторинга
Ambari
Bosun
Shinken
Gangila
Cabot
Dropwizard Metrics
Metricbeat
Checkmk
ElastAlert
Centreon
Vulcan
…еще 15-20
Выбор инструмента
Есть API
Cloud, SaaS/у себя
Простота деплоя,
настройки, поддержки
Средства
визуализации
Архитектура, scaling
Agent/agentless
Безопасность
Стоимость
Тех. поддержка
Доступность мониторинга
Админам/devops
Разработчикам
QA
BA/Product owner
Менеджерам
Общие/отдельные дашборды
Логирование
Часть процесса разработки, отладки,
тестирования, поддержания работы
Логи содержат информацию об изменении
состояния системы
Помогают разбирать ошибки
Проблемы логирования
Количество и хранение логов
Подробность логов
Производительность
Централизация логов
Поиск в логах
Безопасность и privacy
Best practices
Используйте уровни логирования
Fatal
Critical/Error
Warning
Debug
Trace
Best practices
Вынесите уровень логирования во внешний файл
По умолчанию используйте INFO
Используйте FATAL и Critical/Error
Warning – может случиться ошибка
Info – все ок, хочу убедиться что все ок
Best practices
Используйте разные уровни на разные
окружениях
Иногда можно включить debug на небольшое
время в prod
Просматривать переменные можно с помощью
Trace
Не добавляйте в лог пароли и GDPR
Best practices
Не замеряйте короткие методы с помощью логов
Можно логировать в бд или в поисковик
Используйте ротацию логов (2 недели)
В prod – логи должны уходить по сети
Используйте industry standard библиотеки для
логирования, не пишите свое
Best practices
Пишите логи, чтобы их понял любой, даже вы
сами через 3 месяца
Добавляйте в логи контекст (компонент, этап
обработки…)
Пишите в machine parseable фармате
Для очередей используйте uuid сообщений для
отслеживания в producer/consumer
Best practices
Логируйте не только для выявления проблем, но и
для аудита/мониторинга
Используйте разные файлы для логов разного
уровня
Мониторьте количество сообщений в логах
разного уровня
Выводите частоту ошибок на график
Best practices
Используйте агрегатор логов
Sentry
Rollbar
Crashlytics
Bugsnag
TrackJs
Airbrake
Ссылки
Общее
 https://www.oreilly.com/library/view/effective-monitoring-
and/9781449333515/ch01.html#I_sect11_d1e310
 https://www.digitalocean.com/community/tutorials/an-introduction-to-metrics-monitoring-and-alerting
 https://www.pagerduty.com/resources/learn/event-management/
 https://habr.com/ru/company/itsumma/blog/448602/
Оповещения
 https://www.pagerduty.com/resources/learn/what-is-it-alerting/
 https://response.pagerduty.com/oncall/alerting_principles/
 https://www.g2.com/categories/it-alerting
Ссылки
Инструменты
 https://devexperts.com/blog/how-to-choose-monitoring-system/
 https://logz.io/blog/open-source-monitoring-tools/
 https://stackshare.io/monitoring-tools
Кейсы
 https://www.digitalocean.com/community/tutorials/putting-monitoring-and-alerting-into-practice
 https://habr.com/ru/company/sberbank/blog/420731/
 https://habr.com/ru/company/pt/blog/325276/
 https://habr.com/ru/company/oleg-bunin/blog/340114/
 https://habr.com/ru/post/463121/
Ссылки
Книги
 https://www.amazon.com/Art-Monitoring-James-Turnbull-
ebook/dp/B01GU387MS/ref=sr_1_1?keywords=The+Art+of+Monitoring+by+James+Turnbull&qid=15724
27602&sr=8-1
 https://www.amazon.com/Effective-Monitoring-Alerting-Web-Operations/dp/1449333524
 https://www.amazon.com/Monitoring-Graphite-Tracking-Dynamic-
Application/dp/1491916435/ref=sr_1_1?keywords=Monitoring+With+Graphite+by+Jason+Dixon&qid=15
72427633&sr=8-1
 https://www.amazon.com/Practical-Monitoring-Effective-Strategies-
World/dp/1491957352/ref=sr_1_1?keywords=Practical+Monitoring+Effective+Strategies+For+The+Real+
World&qid=1572427782&sr=8-1
 https://distributed-systems-observability-ebook.humio.com/
Логи
 https://dev.to/raysaltrelli/logging-best-practices-obo
 https://www.scalyr.com/blog/the-10-commandments-of-logging/
 https://stackshare.io/sentry/alternatives
Задайте мне вопрос

Weitere ähnliche Inhalte

Was ist angesagt?

China metaverse report by daxue consulting and ayo consulting
China metaverse report by daxue consulting and ayo consultingChina metaverse report by daxue consulting and ayo consulting
China metaverse report by daxue consulting and ayo consulting
Daxue Consulting
 
Cooper Parlor: Service Blueprinting
Cooper Parlor: Service Blueprinting Cooper Parlor: Service Blueprinting
Cooper Parlor: Service Blueprinting
Izac Ross
 

Was ist angesagt? (20)

The Bottom Line on Trust | Accenture Strategy Competitive Agility Index 2018
The Bottom Line on Trust | Accenture Strategy Competitive Agility Index 2018The Bottom Line on Trust | Accenture Strategy Competitive Agility Index 2018
The Bottom Line on Trust | Accenture Strategy Competitive Agility Index 2018
 
Digitální exportní akademie - Den 2 - See-Think-Do-Care - Případová studie Un...
Digitální exportní akademie - Den 2 - See-Think-Do-Care - Případová studie Un...Digitální exportní akademie - Den 2 - See-Think-Do-Care - Případová studie Un...
Digitální exportní akademie - Den 2 - See-Think-Do-Care - Případová studie Un...
 
AI Restart 2024: José Kadlec - Megapraktické využití AI v LinkedIn brandingu
AI Restart 2024: José Kadlec - Megapraktické využití AI v LinkedIn brandinguAI Restart 2024: José Kadlec - Megapraktické využití AI v LinkedIn brandingu
AI Restart 2024: José Kadlec - Megapraktické využití AI v LinkedIn brandingu
 
Comparative Study of Honor Killing
Comparative Study of Honor KillingComparative Study of Honor Killing
Comparative Study of Honor Killing
 
Business Transformation Proposal PowerPoint Presentation Slides
Business Transformation Proposal PowerPoint Presentation SlidesBusiness Transformation Proposal PowerPoint Presentation Slides
Business Transformation Proposal PowerPoint Presentation Slides
 
Global Trust in Advertising Report by Nielsen
Global Trust in Advertising Report by NielsenGlobal Trust in Advertising Report by Nielsen
Global Trust in Advertising Report by Nielsen
 
The Digital Revolution? #MediaLit15
The Digital Revolution? #MediaLit15The Digital Revolution? #MediaLit15
The Digital Revolution? #MediaLit15
 
AI Restart 2024: Vojtěch Dlouhý - Automatizace komunikace za pomoci konverzač...
AI Restart 2024: Vojtěch Dlouhý - Automatizace komunikace za pomoci konverzač...AI Restart 2024: Vojtěch Dlouhý - Automatizace komunikace za pomoci konverzač...
AI Restart 2024: Vojtěch Dlouhý - Automatizace komunikace za pomoci konverzač...
 
China metaverse report by daxue consulting and ayo consulting
China metaverse report by daxue consulting and ayo consultingChina metaverse report by daxue consulting and ayo consulting
China metaverse report by daxue consulting and ayo consulting
 
Building Sustainable Metaverse Infrastructure Webinar
Building Sustainable Metaverse Infrastructure WebinarBuilding Sustainable Metaverse Infrastructure Webinar
Building Sustainable Metaverse Infrastructure Webinar
 
Tish Shute (HuaweiXR): - The Future of Intelligence
Tish Shute (HuaweiXR): - The Future of IntelligenceTish Shute (HuaweiXR): - The Future of Intelligence
Tish Shute (HuaweiXR): - The Future of Intelligence
 
CII BCG big picture summit report 2021
CII BCG big picture summit report 2021CII BCG big picture summit report 2021
CII BCG big picture summit report 2021
 
The AI Apocalypse.pptx
The AI Apocalypse.pptxThe AI Apocalypse.pptx
The AI Apocalypse.pptx
 
Cooper Parlor: Service Blueprinting
Cooper Parlor: Service Blueprinting Cooper Parlor: Service Blueprinting
Cooper Parlor: Service Blueprinting
 
2015 global insight program ces 2015 참관기
2015 global insight program ces 2015 참관기2015 global insight program ces 2015 참관기
2015 global insight program ces 2015 참관기
 
Building the Metaverse
Building the MetaverseBuilding the Metaverse
Building the Metaverse
 
Stryker
StrykerStryker
Stryker
 
Smart Cities – how to master the world's biggest growth challenge
Smart Cities – how to master the world's biggest growth challengeSmart Cities – how to master the world's biggest growth challenge
Smart Cities – how to master the world's biggest growth challenge
 
Social Restart 2023: Pavla Hladečková - Sociální sítě v cestovním ruchu – v o...
Social Restart 2023: Pavla Hladečková - Sociální sítě v cestovním ruchu – v o...Social Restart 2023: Pavla Hladečková - Sociální sítě v cestovním ruchu – v o...
Social Restart 2023: Pavla Hladečková - Sociální sítě v cestovním ruchu – v o...
 
Metaverse System Architectures
Metaverse System ArchitecturesMetaverse System Architectures
Metaverse System Architectures
 

Ähnlich wie Software craftsmanship meetup #9. Логирование, мониторинг, оповещение

Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
Denis Petelin
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
Denis Petelin
 
Разработка веб-сервисов осень 2013 лекция 9
Разработка веб-сервисов осень 2013 лекция 9Разработка веб-сервисов осень 2013 лекция 9
Разработка веб-сервисов осень 2013 лекция 9
Technopark
 
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
CodeFest
 

Ähnlich wie Software craftsmanship meetup #9. Логирование, мониторинг, оповещение (20)

Документирование - зачем и для кого?
Документирование - зачем и для кого?Документирование - зачем и для кого?
Документирование - зачем и для кого?
 
Как автоматизировать тестирование метрик на сайте
Как автоматизировать тестирование метрик на сайтеКак автоматизировать тестирование метрик на сайте
Как автоматизировать тестирование метрик на сайте
 
SE2016 Java Dmitriy Kouperman "Working with legacy systems. Stabilization, mo...
SE2016 Java Dmitriy Kouperman "Working with legacy systems. Stabilization, mo...SE2016 Java Dmitriy Kouperman "Working with legacy systems. Stabilization, mo...
SE2016 Java Dmitriy Kouperman "Working with legacy systems. Stabilization, mo...
 
Dmitriy Kouperman Working with legacy systems. stabilization, monitoring, man...
Dmitriy Kouperman Working with legacy systems. stabilization, monitoring, man...Dmitriy Kouperman Working with legacy systems. stabilization, monitoring, man...
Dmitriy Kouperman Working with legacy systems. stabilization, monitoring, man...
 
Software craftsmanship #5 кэши и микросервисы
Software craftsmanship #5 кэши и микросервисыSoftware craftsmanship #5 кэши и микросервисы
Software craftsmanship #5 кэши и микросервисы
 
Доклад "Мониторинг серверных приложений"
Доклад "Мониторинг серверных приложений"Доклад "Мониторинг серверных приложений"
Доклад "Мониторинг серверных приложений"
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Software craftsmanship meetup #4
Software craftsmanship meetup #4Software craftsmanship meetup #4
Software craftsmanship meetup #4
 
Разработка веб-сервисов осень 2013 лекция 9
Разработка веб-сервисов осень 2013 лекция 9Разработка веб-сервисов осень 2013 лекция 9
Разработка веб-сервисов осень 2013 лекция 9
 
О чем стоит подумать, приступая к разработке высоконагруженных систем
О чем стоит подумать, приступая к разработке высоконагруженных системО чем стоит подумать, приступая к разработке высоконагруженных систем
О чем стоит подумать, приступая к разработке высоконагруженных систем
 
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
 
Free RvSIEM. Intro (Rus)
Free RvSIEM. Intro (Rus)Free RvSIEM. Intro (Rus)
Free RvSIEM. Intro (Rus)
 
Software craftsmanship 7
Software craftsmanship 7Software craftsmanship 7
Software craftsmanship 7
 
Аналитик и бнс
Аналитик и бнсАналитик и бнс
Аналитик и бнс
 
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
 
Software craftsmanship 8
Software craftsmanship 8Software craftsmanship 8
Software craftsmanship 8
 
Pl High Load V1.1
Pl High Load V1.1Pl High Load V1.1
Pl High Load V1.1
 
Проблемы в системе журналирования событий безопасности ОС Windows
Проблемы в системе журналирования событий безопасности ОС WindowsПроблемы в системе журналирования событий безопасности ОС Windows
Проблемы в системе журналирования событий безопасности ОС Windows
 
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
Application Security - ответы на ежедневные вопросы / Сергей Белов (Mail.Ru G...
 

Mehr von Pavel Veinik

Software craftsmanship 16: online building ml pipeline
Software craftsmanship 16: online building ml pipelineSoftware craftsmanship 16: online building ml pipeline
Software craftsmanship 16: online building ml pipeline
Pavel Veinik
 

Mehr von Pavel Veinik (19)

Software craftsmanship meetup 22. engineering excellence
Software craftsmanship meetup 22. engineering excellenceSoftware craftsmanship meetup 22. engineering excellence
Software craftsmanship meetup 22. engineering excellence
 
Software craftsmanship meetup 20. транзакции и data constistency в микросерви...
Software craftsmanship meetup 20. транзакции и data constistency в микросерви...Software craftsmanship meetup 20. транзакции и data constistency в микросерви...
Software craftsmanship meetup 20. транзакции и data constistency в микросерви...
 
System Engineering Webinar
System Engineering WebinarSystem Engineering Webinar
System Engineering Webinar
 
Software craftsmanship online meetup 18: Kafka как пример идеально горизонтал...
Software craftsmanship online meetup 18: Kafka как пример идеально горизонтал...Software craftsmanship online meetup 18: Kafka как пример идеально горизонтал...
Software craftsmanship online meetup 18: Kafka как пример идеально горизонтал...
 
Software craftsmanship 17: Microservices interaction
Software craftsmanship 17: Microservices interactionSoftware craftsmanship 17: Microservices interaction
Software craftsmanship 17: Microservices interaction
 
Software craftsmanship 16: online building ml pipeline
Software craftsmanship 16: online building ml pipelineSoftware craftsmanship 16: online building ml pipeline
Software craftsmanship 16: online building ml pipeline
 
Software craftsmanship 15 online: Reliability and Resiliency
Software craftsmanship 15 online: Reliability and ResiliencySoftware craftsmanship 15 online: Reliability and Resiliency
Software craftsmanship 15 online: Reliability and Resiliency
 
Software craftsmanship 14 online Splitting the Monolith
Software craftsmanship 14 online Splitting the MonolithSoftware craftsmanship 14 online Splitting the Monolith
Software craftsmanship 14 online Splitting the Monolith
 
Software craftsmanship 12 online highload systems
Software craftsmanship 12 online highload systemsSoftware craftsmanship 12 online highload systems
Software craftsmanship 12 online highload systems
 
Software craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчикаSoftware craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчика
 
Software craftsmanship 10: распределенные транзакции
Software craftsmanship 10: распределенные транзакцииSoftware craftsmanship 10: распределенные транзакции
Software craftsmanship 10: распределенные транзакции
 
Software craftsmanship фиксит проблемы Agile
Software craftsmanship фиксит проблемы AgileSoftware craftsmanship фиксит проблемы Agile
Software craftsmanship фиксит проблемы Agile
 
Software craftsmanship 3
Software craftsmanship 3Software craftsmanship 3
Software craftsmanship 3
 
Software craftsmanship 1
Software craftsmanship 1Software craftsmanship 1
Software craftsmanship 1
 
Software craftsmanship 2
Software craftsmanship 2Software craftsmanship 2
Software craftsmanship 2
 
Women in technology_week-women_leadership
Women in technology_week-women_leadershipWomen in technology_week-women_leadership
Women in technology_week-women_leadership
 
Career day 2019
Career day 2019Career day 2019
Career day 2019
 
Программирование и лингвистика: как понять язык и извлечь знания из текстов
Программирование и лингвистика: как понять язык и извлечь знания из текстовПрограммирование и лингвистика: как понять язык и извлечь знания из текстов
Программирование и лингвистика: как понять язык и извлечь знания из текстов
 
Человеческий фактор в разработке, или ORM на noSql через JPA.
Человеческий фактор в разработке, или ORM на noSql через JPA.Человеческий фактор в разработке, или ORM на noSql через JPA.
Человеческий фактор в разработке, или ORM на noSql через JPA.
 

Software craftsmanship meetup #9. Логирование, мониторинг, оповещение