Как настроить мониторинг доступности API-сервисов с помощью связки Uptime Kuma и оповещений в Telegram?

Uptime Kuma — это мощный self-hosted инструмент мониторинга с удобным веб-интерфейсом, который позволяет отслеживать доступность API-сервисов, сайтов и других эндпоинтов в реальном времени. В связке с Telegram-ботом он обеспечивает мгновенные оповещения при падении сервиса.

## Шаг 1: Установка Uptime Kuma

Наиболее простой способ — запуск через Docker:

docker run -d —restart=always -p 3001:3001 -v uptime-kuma:/app/data —name uptime-kuma louislam/uptime-kuma:1

После запуска откройте браузер и перейдите по адресу `http://ваш-сервер:3001`. Создайте учётную запись администратора.

## Шаг 2: Создание Telegram-бота

1. Откройте Telegram и найдите `@BotFather`.
2. Отправьте команду `/newbot` и задайте имя и username для бота.
3. Скопируйте полученный **API Token** — он понадобится для настройки.
4. Узнайте свой **Chat ID**: напишите боту `@userinfobot` или воспользуйтесь методом `getUpdates` через API Telegram после отправки любого сообщения своему боту.

## Шаг 3: Настройка уведомлений в Uptime Kuma

1. В интерфейсе Uptime Kuma перейдите в **Settings → Notifications**.
2. Нажмите **Add Notification**.
3. В поле **Notification Type** выберите **Telegram**.
4. Введите **Bot Token** и **Chat ID**, полученные на предыдущем шаге.
5. Нажмите **Test** — вы должны получить тестовое сообщение в Telegram.
6. Сохраните настройку.

## Шаг 4: Добавление монитора для API

1. На главной странице нажмите **Add New Monitor**.
2. Выберите тип монитора:
— **HTTP(s)** — для проверки доступности эндпоинта по статус-коду.
— **HTTP(s) — Keyword** — если нужно проверять наличие определённого слова в ответе.
3. Укажите **URL** вашего API, например: `https://api.example.com/health`.
4. Настройте **Heartbeat Interval** (интервал проверки, например, 60 секунд).
5. Установите **Retries** (количество повторных попыток перед отправкой алерта).
6. В разделе **Notifications** привяжите созданный Telegram-канал.
7. Дополнительно можно настроить **Expected Status Code** (например, 200) и проверку SSL-сертификата.

## Шаг 5: Расширенные настройки

— **Группировка мониторов** — объединяйте связанные API в группы для удобства.
— **Status Page** — создайте публичную страницу статуса для клиентов.
— **Авторизация** — для защищённых API добавьте заголовки авторизации в разделе **Headers**.
— **Тело запроса** — для POST-эндпоинтов укажите тело запроса в формате JSON.

## Итог

Связка Uptime Kuma + Telegram даёт простой, надёжный и бесплатный инструмент мониторинга API без зависимости от облачных сервисов. Вы получаете мгновенные уведомления о падениях, историю аптайма и удобный дашборд — всё в одном решении.


Задайте вопрос нейросети

Не нашли ответ? Спросите ИИ — он подготовит развёрнутую статью.