Найти в Дзене

Мониторинг ошибок с помощью Telegram канала

Оглавление

Вступление

В данной статье расскажу про мониторинг ошибок с помощью Telegram канала. Приведу примеры проектов, в которых использую данных подход.

Проект с платежами

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

💡Родилась идея перехватывать и отправлять такие ошибки в отдельный Telegram канал.

Сообщение состоит из текста ошибки или кода + текста ошибки, также можно добавить какой-то сопроводительный текст, чтобы понимать на каком именно этапе возникла проблема. По сообщению в канале можно определить критичность ситуации и принять необходимые меры в случае необходимости. Помимо ошибок платежей можно мониторить проблемы с вызовом сторонних API. Ниже приведу примеры сообщений с ошибками, которые попадают в канал.

Ошибка при вызове API ЮKassa

❗️Начали падать автоплатежи! Что-то пошло не так!
Json response - <html><head><title>500 - Internal Server Error</title></head><body><p>500 - Internal Server Error</p></body></html>

Ошибка при вызове API Firebase

❗️При вызове Firebase API произошла непредвиденная ошибка! Что-то пошло не так!
Json response - [{
"error": {
"code": 500,
"message": "An internal error occurred.",
"status": "INTERNAL"}
}]

Проект с синхронизацией контактов

На другом проекте есть модуль для синхронизации номеров телефонов с Google контактами. Там есть подобный канал, который сообщает о статусе каждой синхронизации и соответственно об ошибках, если они возникают. Ниже приведу примеры сообщений, которые попадают в канал.

Информационное сообщение о результате выполнения синхронизации

🔔Синхронизация завершена!
Добавлено: 0 уч.
Обновлено: 1 уч.
Удалено: 2 уч.

Ошибка синхронизации контактов

❗️Ошибка синхронизации: javax.net.ssl.SSLException: Read timed out

Итоги

Данный подход оказался очень удобным! Нет необходимости постоянно мониторить логи или ждать пока пользователи начнут обращаться в поддержку с какой-либо проблемой. Сообщения об ошибках в канале позволяют оперативно реагировать на проблему, а информационные сообщения позволяют мониторить общее состояние системы