Les erreurs sont une chose intéressante, car même le titre du rapport lui-même a un double fond. Il s'agit de travailler sur les erreurs que nous commettons dans nos logiciels, programmes, services. Et travailler également sur les erreurs, c'est créer un pipeline pour gérer tout cela, de sorte que tout se passe bien à la fin.
Sentry est un outil de surveillance des exceptions, des erreurs dans vos applications.

– , Sentry. . : , .

2019-2020-.
, pipeline .

60 000 3 , 150 000 , 6 .

pipeline . , , , - . - Elastic. . . , .
, Elastic. . . , . Hercules. open source, GitHub .
– , Hercules .

Pipeline . Elastic Adapter , Elastic.
, Kafka. Kafka – , . daemon, Kafka Elastic.
, Elastic . Kibana, ??? ??? ( ).
pipeline . ?

pipeline , . daemons, , . . , , , . 15 .

? ?
– , , - , , , . .
Elastic, . Kibana , - Web, , Elastic, , . . .

?
- -, , , Exception - stacktrace.
- , exc_stacktrace_hash, .
- Web , . . , . , - , . , .

hash, .

. , – Web, . . serverless-, . , .

pipeline , ?
, , Elastic Adapter. .

- , . . . .
.
, , . . , .
email. .

, – Web, .

?
- -, . . , , . - .
- -, , , .
? , , , Web. , . - , - .
. ? staging-, , - . , . staging-, , . , .

. .

, post mortem, - . . , . – 2 . – . , – 1 300 . , , . , . - , . , . , , - . , , :

2 . , . 24 . . . , .
, - , . . .

. . - . – . 2 . . 8 000 . , . , . - , . , . -, , , - . - . , , , - . . . . . , . . . , - .

https://habr.com/ru/company/ru_mts/blog/308044/
? . , .
Habr. ? . .
, . . , , . , , . ?

, . , . , 12 .
, , , open space. . . , , .
.

, , , , , 10-15 % . , , , . . .
, . staging, . , .

Sentry
, . . , - . , , Sentry, .

, Sentry, - . , Sentry – , . , . , , – , Sentry cloud’ Sentry. ? .
, , , . , Sentry. . , , . , . Sentry .
, - , , , , .

.
. , . pipeline Sentry , .
, . 13.51
, - , . . . - , , - . .
, - . , , -. Sentry, - . , - . - stacktrace. , Sentry . , . . .
, . . , . , . . , .
, . , , . , . 5 .

Sentry. , pipeline . , Sentry SDK.
, exception Sentry. . – , Sentry- fire-and-forget. ? , Sentry. , . - - - , , .
, , , , Sentry . .
– vendor lock. Sentry SDK, , , Sentry . - , , . - – .
? - – . , . . . . .
, , . , . , .
SDK, Sentry. , , Sentry. .

, , . . pipeline, Elastic.
Sentry.

, , , . ? . .
– . , . , Sentry, , .
, 3 , . :
- Stacktrace,
- Exception, . . exception, ,
- Message, . . message, .
stacktrace - , . . 2 stacktraces , , , . .
, message. , messages ; messages , , .

. message, . ? - . – . - , . - . , . .

? , , , .
fingerprint. , , - , , .
? - hash, , .
, , , - . fingerprint . .

, , , .
, . . , , .
, , 500 – , - .

, , «-», , , . , Sentry .
1 000 Sentry, , , . . , Sentry , , , - .
: , ,
, .

pipeline? - ERROR FATAL.
, , , , .

– , - , , . . . , , . , . , .
. – + retry.

https://github.com/vostok/clusterclient.core/issues/7
? , . , . - URL. URL . - . - - . . , . . .
, , retry . . , Sentry . . , .

. , , .
. , , . 403 .
, . – . ?

– «» . «». , . , , token . error.

. , - - . . - .
, ? , - . , , , .

? , . . - . , - , - error.

. , error.
, , . API-, . backend. backend , , storage service.

storage- . , .

, , , . .

3 , , , , .

.
()
, .

– «» . , , , retry, . . , - . , , ?
– . – . , , , . . .
, , , . , . . , . , , - ? .

? , , . .
. USE- RED-. , , , . - ( ) , , , , - .
, – . , , . , .

– .
. , .
- , . .
?
. ?

, , ERROR WARNING , . , . , . . – .
. . , WARNING, . , . , , , , .

. . . , , , , . , , , . - , - , . – . . . . , . , . , . . , . , , , . . . . , , .
? , .
:
, . , , . . , ?
, - error, , , , . , - . .

, , errors - . . error. , . , - . - . - . - -. - . . 450 . , , , . . ERROR WARNING, .
, . , . , , , . , , , . , : « ? ?».

. , , , , , . . , , - , , .
, , , , . , - , .
, . . . , , . , , . , , . : «, ». : « ». .
, . , , , .
. , - , , - , , , , - .
, , - . , error budget. , .
.
?

, . Sentry, , . , , , .
, , .
, . 100 000 . , events . 300 . , , , , , 10. . .
. happy end. , :
, .
- . , - -.
, .
, legacy, 10 – ! , - . .
, ?

150 000 . pipeline Sentry – 100 000. , : INFO, WARNING, ERROR. . Sentry events ERROR FATAL 75 .

, , . team plan. Sentry – 26 . 50 000 . , . .
, 6 000 000 . + 820 . , . , .

. 75 . ? , , , , 200 000 000.
, , – 6 000 000. , , , . , .
. 75 – . .

, . , - , .
, - 3 300 000 . pipeline, , Sentry .
, - , .
. , , , , .
. . , , , .

, 10 . , 10 . , . , . , - - . , .
– , . 3 . , , . 3 , .
, . .
– , . - , , . Sentry. , , - , – - . .
, , . , -. .
? , .

Sentry . 4 , .
:
- Slack,
- ,
- Telegram,
- Pushover.
, .
, Slack Pushover. Slack - , Pushover , , .

: « , , ?». , , events, Sentry. ? -, . - , . , , , . - , graceful degradation , ?
, , . - staging, , , . , - Slack, , - - .
. , . : « ?». Sentry -, , .
Sentry , , . , , , - SLA .
, , . , , , . .
2019 2020
, , , , . . .

2019- : Moira .
Moira – . , , Telegram Slack. , Grafana. , . Kibana.
, , Kibana, - .
2020- ? Moira . - .
Sentry. , . . , , Sentry.
, , , .
2
– , Sentry – Sentry.

, . .
2019- , Sentry, 26 , post mortem.
, 3 post mortem, - , , .
3 , . . , Moira . , . .
1 . – , Kibana - . , .
, , . ? – , . – , . , , . , . .
, , Sentry. , , , Sentry. 9 19, , Sentry. , .

, . , . . , , . , .
19 . , . , .
5 . - , , . , .
6 . .
5 .
3 , . . Sentry.
. , .
, , . , Sentry , 10-15 % .
, Sentry, , .
, Sentry.
– 2 5. 6, , Sentry. , , Sentry. , , . . . . . , .
. . 2 - . ?

, , , , , . , , . , .
– , , , . . – , , . , , -, - -. .
, . . . , . . soft skills . , , - , , .
post mortems, . . , , . .

, Sentry , , – , Sentry. . . , .
Sentry. , Sentry. Hercules , .
Sentry. . . , .

. ! .
Q/A
: , , . , . ?
: , , . . . . – . .
: 247 , ? ?
: , , . , . . . , . , . , , . Pushover . . , .
: , - ?
: , . , Sentry. Sentry, , . . Sentry . , , . , , . , . , , , , , , 10 . , .
: , , error , ? . . 2 , error?
: . , . , , , . , , . , -, .
: , production , , , -. , , . ? - ?».
: . . - , - , - , - . , events - . , user ID, . , - , , , Slack-, - .
: , - , Sentry . ? - upstream-? , . . , . Sentry ?
: . Sentry . . ? Chrome, Sentry html, , . Sentry. , Chrome, . , , , , . . , - .
: ? ?
: , , . , — Hercules. , . , , -, . span, , . , - , community, . . , , , Elastic. . , . . , .
: , , . «Pushover», ?
: Pushover . , . Pushover. . .
() , PagerDuty android, , , . « », . iOS . , , , . , , - .
: , , ?
: , , , , , . , 80, . , . . , . . , , . , Pushover , .
: , ? , ?
: -. primary-, backup-. . - , : «, . , ». , . , . , . - – , , - .
: ? ?
: . , , . , . , - . . , . , . , .
() , , : 8 , 8 , 8 . – . , . . .
: , . ? . . ? ?
: , . , , . . ? , , - . .
? . . . . , error . - , error. error budget. . . , . , . , , , .
: . . . -, . - retry. , . , -, - tracking error budget. ? Hercules - Sentry ?
: , - – Sentry. , rules . , . . , , . , rule . . .
: . , , error, warning, info debug ?
: , , Sentry. , . , , . , , error, Sentry . , warning , Sentry . . .
: , Sentry, . - stacktrace, ?
: . -, 64 , Sentry. , . . , Sentry .
() stacktrace. . emp, . . , stack. , . , stack overflow error, stack. . .
: , , . , , log -. . , , , . , , , , , connection . . ? ?
: , , , . - , .
: , , . - - , , . . AssertionError – ?
: - , , . , , , – , — . , , , , , , .
() , , . : «, , : « ?»». , - , , , . , , 4 . .
() , , .
: . . , , - , , , ?
: . -, , - , . . . , - , , , . . , . . , - , . . . , .
, , , - . . , , . ? - .
() -, . .
: Sentry, . , , - . , , , CPU. - - ?
: , Moira. . - - , . . Graphite. Moira . Sentry – , . . Sentry . , . - . , - , - , .
. , . , . . , . . , 19- , 20- . . . endpoint . . -. .
, . ? -, stracktraces . , . Stracktaces – - . . stractraces . . , . - -. . . , : «, , , . , ». - Internet Explorer.
- Sentry