Fehler sind eine interessante Sache, da selbst der Titel des Berichts selbst einen doppelten Boden hat. Dies ist die Arbeit an den Fehlern, die wir in unserer Software, unseren Programmen und Diensten machen. Wenn Sie an Fehlern arbeiten, erstellen Sie eine Pipeline, um all dies zu bewältigen, sodass am Ende alles in Ordnung ist.
Sentry ist ein Tool zum Überwachen von Ausnahmen und Fehlern in Ihren Anwendungen.

– , 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