Using Sentry for error
collection and analysis
in a distributed system
Yevgen Lysenko
concert.ua
CTO, Co-founder
КТО МЫ?
ЧЕМ МЫ ЗАНИМАЕМСЯ?
• IT-development
• Аналитика
Let’s face it – all applications
have bugs
Цикл разработки ПО
Монолитная архитектура
MariaDB 1
MariaDB 2
MariaDB 5
MariaDB 3
MariaDB 4
Block storage
bi-daily backups
Galera Cluster
MySQL
MaxScale 1
MaxScale 2
CloudFlare
Concert.ua
Load Balancer
CloudFlare
v-Ticket
HTTPS
Balancer-1
Internal DNS1
HTTPS
WSS
WS
Balancer-2
Internal DNS2
PHP Session storage
application cache
Redis
HTTP
concertua-app01
concertua-app02
concertua-app03
(staging)
Concert.ua cluster
HTTP
vticket-app00
(API)
vticket-app01
vticket-app02
v-Ticket legacy cluster
MySQL
Block storage
volume-01-fra1
storage1
(static & logs)
NFS
Redis
PHP Session storage
application cache
ElasticSearch 1 ElasticSearch 2 ElasticSearch 3
ElasticSearch cluster
RabbitMQ srv1
Crossbar srv1
PostgreSQLPostgreSQL
Exim 1
HAProxy
Exim 2 Exim 3
Mail out cluster
AMQP
AMQP
SMTP
WAMP
over WS or TCP
SMTP
MySQL
Redis
 AMQP
vticket-core01 SMTP
MySQL
Redis
RabbitMQ
storage.concert.ua
HTTPS
CloudFlare
storage.concert.ua
HTTP
HTTP
HTTP
sentry.concert.ua
HTTPS
CloudFlare
sentry.concert.ua
vticket-worker01
vsync-common-dispatcher
vsync-common
ticket-renderer
sms-sender
email-sender
ladesk-worker
order-operation-migrator
core-auth-service
google-analytics-worker
vticket-worker02
vsync-common-dispatcher
vsync-common
ticket-renderer
sms-sender
email-sender
ladesk-worker
order-operation-migrator
core-auth-service
google-analytics-worker
Redis srv2Redis srv1
Распределённая
(микросервисная)
архитектура
Поддерживаемые
платформы
Sentry позволяет:
– централизованный сбор и категоризация ошибок
– контекст, окружение, stack trace, параметры каждого инцидента
– фильтровать повторяющиеся или маловажные ошибки
– видеть шаги, предшествовавшие ошибке
– отслеживать каждый релиз: новые и закрытые ошибки, и регресии
– назначать code owner’ов с автоматическим уведомлением о багах
– автоматически назначать дефекты авторам кода в трекере
– дашборды и графики, позволяющие видеть общую картину
– получать прямой фидбек от пользователей о произошедшем
– интеграции с Gitlab, Github, Bitbucket, Slack, Jira, Hipchat, PagerDuty, etc
Using Sentry for error collection and analysis in a distributed system - Yevgen Lysenko
Using Sentry for error collection and analysis in a distributed system - Yevgen Lysenko
Using Sentry for error collection and analysis in a distributed system - Yevgen Lysenko
Using Sentry for error collection and analysis in a distributed system - Yevgen Lysenko
Using Sentry for error collection and analysis in a distributed system - Yevgen Lysenko
Using Sentry for error collection and analysis in a distributed system - Yevgen Lysenko
Using Sentry for error collection and analysis in a distributed system - Yevgen Lysenko
Using Sentry for error collection and analysis in a distributed system - Yevgen Lysenko
Using Sentry for error collection and analysis in a distributed system - Yevgen Lysenko
Using Sentry for error collection and analysis in a distributed system - Yevgen Lysenko
Using Sentry for error collection and analysis in a distributed system - Yevgen Lysenko

Using Sentry for error collection and analysis in a distributed system - Yevgen Lysenko

  • 1.
    Using Sentry forerror collection and analysis in a distributed system Yevgen Lysenko concert.ua CTO, Co-founder
  • 2.
  • 3.
    ЧЕМ МЫ ЗАНИМАЕМСЯ? •IT-development • Аналитика
  • 4.
    Let’s face it– all applications have bugs
  • 5.
  • 6.
  • 7.
    MariaDB 1 MariaDB 2 MariaDB5 MariaDB 3 MariaDB 4 Block storage bi-daily backups Galera Cluster MySQL MaxScale 1 MaxScale 2 CloudFlare Concert.ua Load Balancer CloudFlare v-Ticket HTTPS Balancer-1 Internal DNS1 HTTPS WSS WS Balancer-2 Internal DNS2 PHP Session storage application cache Redis HTTP concertua-app01 concertua-app02 concertua-app03 (staging) Concert.ua cluster HTTP vticket-app00 (API) vticket-app01 vticket-app02 v-Ticket legacy cluster MySQL Block storage volume-01-fra1 storage1 (static & logs) NFS Redis PHP Session storage application cache ElasticSearch 1 ElasticSearch 2 ElasticSearch 3 ElasticSearch cluster RabbitMQ srv1 Crossbar srv1 PostgreSQLPostgreSQL Exim 1 HAProxy Exim 2 Exim 3 Mail out cluster AMQP AMQP SMTP WAMP over WS or TCP SMTP MySQL Redis  AMQP vticket-core01 SMTP MySQL Redis RabbitMQ storage.concert.ua HTTPS CloudFlare storage.concert.ua HTTP HTTP HTTP sentry.concert.ua HTTPS CloudFlare sentry.concert.ua vticket-worker01 vsync-common-dispatcher vsync-common ticket-renderer sms-sender email-sender ladesk-worker order-operation-migrator core-auth-service google-analytics-worker vticket-worker02 vsync-common-dispatcher vsync-common ticket-renderer sms-sender email-sender ladesk-worker order-operation-migrator core-auth-service google-analytics-worker Redis srv2Redis srv1 Распределённая (микросервисная) архитектура
  • 10.
  • 11.
    Sentry позволяет: – централизованныйсбор и категоризация ошибок – контекст, окружение, stack trace, параметры каждого инцидента – фильтровать повторяющиеся или маловажные ошибки – видеть шаги, предшествовавшие ошибке – отслеживать каждый релиз: новые и закрытые ошибки, и регресии – назначать code owner’ов с автоматическим уведомлением о багах – автоматически назначать дефекты авторам кода в трекере – дашборды и графики, позволяющие видеть общую картину – получать прямой фидбек от пользователей о произошедшем – интеграции с Gitlab, Github, Bitbucket, Slack, Jira, Hipchat, PagerDuty, etc