Files
monitoring/PLAN.md
T
2026-08-30 13:38:29 +00:00

61 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# План работ: мониторинг Garage-кластера
## Цель
Вывести статус кластера Garage (vps01, bigbox, vps02) в браузер через Grafana,
с Prometheus-метриками и сбором логов (Loki). Без трейсов (до них «не доросли»).
## Этап 1. Метрики Garage (выполнено ✅)
1. Понять, как Garage v2.1 отдаёт метрики.
→ Найдено: admin API на отдельном порту `[admin] api_bind_addr`; `/metrics` в
Prometheus-формате; `metrics_token` опционален.
2. Добавить в `/opt/garage/garage.toml` на **трёх** нодах:
```toml
[admin]
api_bind_addr = "<WG-IP>:3903"
metrics_token = "<token>"
```
- bigbox: 10.8.0.2:3903 (файл — estorozhenko)
- vps01: 10.8.0.1:3903 (файл — root, sudo)
- vps02: 10.8.0.4:3903 (файл — root, sudo)
3. Открыть порт 3903 для WG-подсети на vps01 (ufw); на vps02/bigbox не требуется.
4. Перезапустить ноды по очереди: vps02 → vps01 → bigbox (пауза ~8с).
5. Проверить: `curl -H "Authorization: Bearer <token>" http://<ip>:3903/metrics` → 200.
**Результат:** все 3 ноды отдают метрики, кластер HEALTHY.
## Этап 2. Стек мониторинга на bigbox (в работе 🔄)
- [x] Создать `/opt/monitoring/` с docker-compose.yml, prometheus.yml, alerts.yml
- [x] Prometheus: таргеты garage x3 (:3903), health x3, node-exporters, self
- [ ] Node-exporter на 3 хостах (10.8.0.x:9100)
- [ ] Запустить `docker compose up -d`
- [ ] Проверить Prometheus :9090 (`up{job="garage"}`, targets)
- [ ] Grafana :3001: datasource Prometheus, дашборд Garage, alerts
## Этап 3. Логи (после метрик 🔄)
- [ ] Promtail (docker.sock) → Loki :3100 → Grafana
- [ ] Логи garage со всех нод (сейчас promtail только на bigbox)
## Этап 4. Git + катастрофоустойчивость (в работе 🔄)
- [x] MD-файлы: README.md, EXPERIENCE.md, PLAN.md
- [ ] git init в /opt/monitoring, первый коммит
- [ ] remote: git@gitverse.ru:kpa39l/monitoring.git (master)
- [ ] `git push -u origin master`
- [ ] В gitea: pull mirror репозитория из gitverse
- [ ] В gitea: добавить estorozhenko с полными правами (на случай поломки bigbox)
## Этап 5. Полировка (TODO)
- [ ] Разные admin_token / metrics_token (`openssl rand -base64 32`)
- [ ] Дашборд: статус нод, занятость диска, блоки, репликация
- [ ] Уведомления алертов (например, в Telegram/почту)
## Риски / заметки
- Перезапуск нод кластера безопасен, но делать по очереди.
- Scratch-образ garage → для CLI-команд нужен `--entrypoint /garage` + монтирование meta.
- Интернет с bigbox частично ограничен; документация — через git.deuxfleurs.fr (ветка main-v1).
- Port 3000 занят gitea → Grafana на 3001.