Моніторинг¶
Налаштування моніторингу сервісів за допомогою Uptime Kuma.
Uptime Kuma¶
Uptime Kuma — self-hosted моніторинг з веб-інтерфейсом.
Встановлення¶
docker run -d \
--name uptime-kuma \
--restart unless-stopped \
-p 3001:3001 \
-v uptime-kuma:/app/data \
louislam/uptime-kuma:1
Docker Compose¶
version: '3.8'
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
restart: unless-stopped
ports:
- "3001:3001"
volumes:
- uptime-kuma:/app/data
volumes:
uptime-kuma:
Що моніторимо¶
Веб-сервіси¶
| Сервіс | URL | Інтервал |
|---|---|---|
| Wiki | https://wiki.eliah.one | 60s |
| Auth | https://auth.eliah.one | 60s |
| Matrix | https://matrix.eliah.one | 60s |
| Element | https://element.eliah.one | 60s |
API endpoints¶
| Endpoint | Метод | Очікувана відповідь |
|---|---|---|
| /api/health | GET | 200 OK |
| /_matrix/federation/v1/version | GET | 200 OK |
Сервери¶
| Хост | Тип перевірки | Порт |
|---|---|---|
| server1 | Ping | - |
| server1 | TCP | 22 |
| server1 | TCP | 443 |
Налаштування моніторів¶
HTTP(S) Monitor¶
Type: HTTP(s)
URL: https://wiki.eliah.one/api/health
Method: GET
Expected Status: 200
Interval: 60 seconds
Retries: 3
TCP Monitor¶
Type: TCP Port
Hostname: server1.eliah.one
Port: 22
Interval: 60 seconds
Ping Monitor¶
Type: Ping
Hostname: server1.eliah.one
Interval: 60 seconds
Сповіщення¶
Telegram¶
- Створіть бота через @BotFather
- Отримайте token
- Дізнайтесь chat_id
- Налаштуйте в Uptime Kuma:
Bot Token: 123456:ABC...
Chat ID: -100123456789
Email¶
SMTP Host: smtp.gmail.com
SMTP Port: 587
Security: STARTTLS
Username: your@gmail.com
Password: app-password
Реагування на інциденти¶
Алгоритм¶
1. Отримано сповіщення
↓
2. Перевірити статус в Uptime Kuma
↓
3. SSH на сервер
↓
4. Перевірити логи:
- docker logs service_name
- journalctl -u service -n 100
↓
5. Визначити причину
↓
6. Виправити / Перезапустити
↓
7. Підтвердити відновлення
Типові проблеми¶
| Проблема | Команда | Рішення |
|---|---|---|
| Сервіс не відповідає | docker ps |
Перезапустити контейнер |
| Висока затримка | ping host |
Перевірити мережу |
| SSL помилка | curl -v https://... |
Перевірити сертифікат |
| Диск заповнений | df -h |
Очистити логи/docker |
Швидкі команди¶
# Перезапуск сервісу
docker compose restart service_name
# Перевірка ресурсів
htop
# Мережева діагностика
mtr target_host
# Очистка docker
docker system prune -a
Status Page¶
Uptime Kuma має вбудовану публічну status page:
- Settings → Status Pages
- Create new status page
- Додати монітори
- Опублікувати на субдомені
Приклад: status.eliah.one
Шлях: infrastructure/monitoring.md