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