Как правильно обрабатывать пики ошибок с помощью Sentry? - PullRequest
4 голосов
/ 02 июля 2019

В нашем проекте мы используем Sentry для сообщения об ошибках. Это работает довольно хорошо, однако в системах с большой нагрузкой мы иногда видим всплески ошибок, когда сторонняя система не работает. Например, если база данных недоступна, мы можем получить несколько десятков тысяч звонков, прежде чем проблема будет решена, и все это приведет к сообщениям об ошибках в Sentry.

Я знаю, что для клиента Sentry есть общая настройка sample.rate. Это позволяет отправлять только определенный процент всех событий в Sentry. Тем не менее, я просто хочу, чтобы избежать дублирования отчетов об ошибках в случае сбоя системы сторонних производителей. Я не хочу ограничивать количество ошибок, отправляемых в целом. Есть ли способ настроить клиент Sentry таким образом, чтобы в случае пиков он отправлял только несколько выборок, а в противном случае отправлял все отчеты об ошибках?

Ответы [ 2 ]

1 голос
/ 03 июля 2019

Я думаю, вы ищете это: https://docs.sentry.io/server/throttling/

0 голосов
/ 03 июля 2019

Java SDK делает только случайную выборку в это время, но сам Sentry имеет защиту от пиков, как описано в этом сообщении в блоге .

Документы также содержат дополнительную информацию.

Кроме того, если они являются «одной и той же ошибкой», их следует сгруппировать вместе.Если не автоматически, вы можете сделать это, используя событие fingerprint.Поэтому, по крайней мере, вы получаете только 1 уведомление.

Вы также можете учитывать, что если вы получаете десятки тысяч ошибок, возможно, может помочь добавление экспоненциальной стратегии отсрочки, чтобы попытаться поразить третью сторону реже.

...