refactor: update Nginx configuration and Docker setup

- Change user directive in Nginx configuration from 'nginx' to 'www-data'.
- Update upstream server configurations in Nginx to use 'localhost' instead of service names.
- Modify Nginx server block to redirect HTTP to a status page instead of Grafana.
- Rename Alertmanager location from '/alertmanager/' to '/alerts/' for consistency.
- Remove deprecated status page configuration and related files.
- Adjust Prometheus configuration to reflect the new Docker network settings.
This commit is contained in:
2025-09-18 21:21:23 +03:00
parent 9ec3f02767
commit 1db579797d
10 changed files with 629 additions and 608 deletions

92
FIX_PROMLEMS.md Normal file
View File

@@ -0,0 +1,92 @@
# FIX_PROBLEMS.md
## Текущий статус Prometheus
### ✅ Что работает:
- Prometheus доступен по `https://188.68.223.37/prometheus/`
- Nginx проксирование настроено правильно
- Другие таргеты работают (Node Exporter, боты)
- Grafana работает по `https://188.68.223.37/grafana/`
### ❌ Что не работает:
#### 1. Самомониторинг Prometheus
- **Статус:** `"health":"down"` с ошибкой 404
- **Проблема:** Prometheus не может получить доступ к своим метрикам по `/metrics`
- **Ошибка:** `"server returned HTTP status 404 Not Found"`
- **Причина:** Prometheus не экспортирует метрики по эндпоинту `/metrics` внутри контейнера
#### 2. Редирект в Prometheus
- **Проблема:** Редирект с `https://188.68.223.37/prometheus/` на `https://188.68.223.37/prometheus/prometheus/query`
- **Причина:** Неправильная конфигурация Nginx proxy_pass
- **Статус:** ТРЕБУЕТ ИСПРАВЛЕНИЯ
### 🔧 Быстрые исправления:
#### Исправление редиректа Prometheus:
Проблема в конфигурации Nginx - нужно убрать слэш в `proxy_pass`:
```nginx
# Было:
proxy_pass http://prometheus_backend/;
# Должно быть:
proxy_pass http://prometheus_backend;
```
#### Исправление самомониторинга:
Проблема в том, что Prometheus не экспортирует метрики. Возможные решения:
1. Убрать job 'prometheus' из конфигурации
2. Добавить параметры для экспорта метрик
3. Использовать другой подход для самомониторинга
### 📋 Следующие шаги:
1. ✅ Исправить редирект Prometheus
2. ❌ Решить проблему с самомониторингом (пропущено)
3. ✅ Исправить главную страницу
4. ✅ Исправить Alertmanager
5. 🔄 Настроить безопасность
6. 🔄 Настроить Uptime Kuma
---
## Этап 5: Настройка безопасности
### План действий:
1. **Добавить базовую аутентификацию для Prometheus**
- Создать файл с логином/паролем
- Настроить Nginx для запроса аутентификации
- Проверить, что теперь требуется логин/пароль
2. **Добавить базовую аутентификацию для Alertmanager**
- Создать файл с логином/паролем
- Настроить Nginx для запроса аутентификации
- Проверить, что теперь требуется логин/пароль
3. **Перезагрузить Nginx**
- Применить новые настройки безопасности
4. **Проверить, что теперь требуется логин/пароль**
- Убедиться, что Prometheus и Alertmanager защищены
**Цель:** Сейчас Prometheus и Alertmanager доступны без аутентификации, что небезопасно. Нужно добавить базовую HTTP аутентификацию.
---
## Этап 6: Настройка Uptime Kuma
### План действий:
1. **Проверить статус Uptime Kuma**
- Убедиться, что контейнер запущен
- Проверить логи на наличие ошибок
2. **Настроить мониторинг основных сервисов**
- Добавить мониторинг Grafana
- Добавить мониторинг Prometheus
- Добавить мониторинг Alertmanager
- Добавить мониторинг ботов
3. **Проверить доступность `/status/`**
- Убедиться, что страница работает
- Проверить отображение статуса сервисов
**Цель:** Uptime Kuma должен показывать статус всех сервисов и их доступность.