Обновления проекта

This commit is contained in:
2025-10-30 22:12:40 +03:00
parent d0677b0503
commit f8712ad195
23 changed files with 72 additions and 67 deletions
+1 -1
View File
@@ -1 +1 @@
24144
17588
+13 -8
View File
@@ -656,13 +656,13 @@ DEVELOPER_CHAT_ID=your_chat_id
### 📁 Файлы мониторинга:
- `core/monitoring.py` - ядро системы мониторинга
- `core/alerts.py` - менеджер алертов
- `prometheus_server.py` - сервер метрик
- `test_monitoring_integration.py` - интеграционные тесты
- `MONITORING.md` - подробная документация
- `README_MONITORING.md` - быстрый старт
- `GLITCHTIP_SETUP.md` - настройка GlitchTip
- `metrics/monitoring.py` - ядро системы мониторинга
- `metrics/alerts.py` - менеджер алертов
- `metrics/prometheus_server.py` - сервер метрик
- `metrics/test_monitoring_integration.py` - интеграционные тесты
- `metrics/MONITORING.md` - подробная документация
- `metrics/README_MONITORING.md` - быстрый старт
- `metrics/GLITCHTIP_SETUP.md` - настройка GlitchTip
- `WEBHOOK_ALERTS.md` - webhook для алертов
### 🚀 Быстрый старт мониторинга:
@@ -697,6 +697,11 @@ DEVELOPER_CHAT_ID=your_chat_id
- GlitchTip: http://localhost:8000
- Логи: bot.log
### 📚 Документация:
- Все файлы метрик в папке `metrics/`
- Основная документация: `metrics/MONITORING.md`
- Быстрый старт: `metrics/README_MONITORING.md`
### 🎯 Результат:
Система мониторинга готова к использованию! Все ошибки, метрики и алерты настроены и протестированы. 📈
@@ -705,7 +710,7 @@ DEVELOPER_CHAT_ID=your_chat_id
## Лицензия
MIT License - см. файл LICENSE для подробностей.
MIT License - см. файл [LICENSE](LICENSE) для подробностей.
---
+2 -2
View File
@@ -6,8 +6,8 @@
from .application import Application
from .config import Config
from .exceptions import BotException, DatabaseError, ValidationError
from .monitoring import MetricsCollector, structured_logger, measure_time, error_handler
from .alerts import AlertManager
from metrics.monitoring import MetricsCollector, structured_logger, measure_time, error_handler
from metrics.alerts import AlertManager
__all__ = [
'Application', 'Config', 'BotException', 'DatabaseError', 'ValidationError',
+2 -2
View File
@@ -42,8 +42,8 @@ from telegram.ext import CommandHandler, MessageHandler, CallbackQueryHandler, f
# Импорты из текущего пакета
from .config import Config
from .exceptions import BotException, ConfigurationError
from .monitoring import MetricsCollector, structured_logger, measure_time, error_handler
from .alerts import AlertManager
from metrics.monitoring import MetricsCollector, structured_logger, measure_time, error_handler
from metrics.alerts import AlertManager
from .single_instance import check_single_instance
# Репозитории
+2 -2
View File
@@ -23,8 +23,8 @@ async def test_monitoring_integration():
try:
# Тест 1: Проверка импорта модулей
print("\n📦 Тест импорта модулей...")
from core.monitoring import MetricsCollector, structured_logger
from core.alerts import AlertManager
from metrics.monitoring import MetricsCollector, structured_logger
from metrics.alerts import AlertManager
from core.config import Config
print("✅ Все модули импортированы успешно")
+1 -1
View File
@@ -11,7 +11,7 @@ from telegram import Update
from telegram.ext import ContextTypes
from core.exceptions import BotException, ValidationError, PermissionError
from utils.formatters import MessageFormatter
from core.monitoring import MetricsCollector
from metrics.monitoring import MetricsCollector
class BaseHandler(ABC):
+1 -1
View File
@@ -101,7 +101,7 @@ telegram_bot_status
### Добавление нового правила алерта
```python
from core.alerts import AlertManager
from .alerts import AlertManager
# В Application или где-то еще
alert_manager = AlertManager(config, metrics)
+11 -11
View File
@@ -3,13 +3,13 @@
## 🔧 Ядро системы мониторинга
### Core модули (новые)
- **`core/monitoring.py`** - 276 строк
- **`metrics/monitoring.py`** - 276 строк
- MetricsCollector для сбора метрик Prometheus
- Интеграция с Sentry/GlitchTip
- Структурированное логирование в JSON формате
- Декораторы для мониторинга (@measure_time, @error_handler)
- **`core/alerts.py`** - 249 строк
- **`metrics/alerts.py`** - 249 строк
- AlertManager для управления алертами
- Настраиваемые правила алертов
- Уведомления в Telegram, email, webhook
@@ -28,18 +28,18 @@
## 🧪 Тесты
- **`test_monitoring_integration.py`** - 91 строка, интеграционные тесты
- **`test_metrics_simple.py`** - 69 строк, простой тест метрик
- **`metrics/test_monitoring_integration.py`** - 91 строка, интеграционные тесты
- **`metrics/test_metrics_simple.py`** - 69 строк, простой тест метрик
- **`final_test.py`** - 91 строка, финальное тестирование
- **`tests/test_monitoring.py`** - 144 строки, unit тесты
## 📚 Документация
- **`MONITORING.md`** - 313 строк, подробная документация
- **`README_MONITORING.md`** - 65 строк, быстрый старт
- **`GLITCHTIP_SETUP.md`** - 59 строк, настройка GlitchTip
- **`WEBHOOK_ALERTS.md`** - 56 строк, webhook для алертов
- **`START_MONITORING.md`** - 146 строк, инструкция по запуску
- **`metrics/MONITORING.md`** - 313 строк, подробная документация
- **`metrics/README_MONITORING.md`** - 65 строк, быстрый старт
- **`metrics/GLITCHTIP_SETUP.md`** - 59 строк, настройка GlitchTip
- **`metrics/WEBHOOK_ALERTS.md`** - 56 строк, webhook для алертов
- **`metrics/START_MONITORING.md`** - 146 строк, инструкция по запуску
- **`README_SYSTEM.md`** - 82 строки, обзор системы
- **`README_PROJECT.md`** - 49 строк, обзор проекта
- **`README_DEVELOPER.md`** - 185 строк, руководство для разработчиков
@@ -50,8 +50,8 @@
## 🛠 Утилиты
- **`setup_monitoring.py`** - 166 строк, автоматическая настройка
- **`prometheus_server.py`** - 45 строк, HTTP сервер метрик
- **`metrics/setup_monitoring.py`** - 166 строк, автоматическая настройка
- **`metrics/prometheus_server.py`** - 45 строк, HTTP сервер метрик
## 📊 Обновленные файлы проекта
@@ -11,15 +11,15 @@
- Система алертов в Telegram
2. **🛠 Инструменты мониторинга:**
- `core/monitoring.py` - ядро системы мониторинга
- `core/alerts.py` - менеджер алертов
- `prometheus_server.py` - сервер метрик
- `test_monitoring_integration.py` - тесты
- `metrics/monitoring.py` - ядро системы мониторинга
- `metrics/alerts.py` - менеджер алертов
- `metrics/prometheus_server.py` - сервер метрик
- `metrics/test_monitoring_integration.py` - тесты
3. **📚 Документация:**
- `MONITORING.md` - подробная документация (313 строк)
- `README_MONITORING.md` - быстрый старт
- `GLITCHTIP_SETUP.md` - настройка GlitchTip
- `metrics/MONITORING.md` - подробная документация (313 строк)
- `metrics/README_MONITORING.md` - быстрый старт
- `metrics/GLITCHTIP_SETUP.md` - настройка GlitchTip
- `WEBHOOK_ALERTS.md` - webhook для алертов
- Обновленный `README.md` с историей проекта
@@ -5,28 +5,28 @@
### ✅ Что было создано:
#### 🔧 Ядро системы мониторинга
- **`core/monitoring.py`** - 276 строк кода
- **`metrics/monitoring.py`** - 276 строк кода
- MetricsCollector для сбора метрик Prometheus
- Интеграция с Sentry/GlitchTip
- Структурированное логирование в JSON формате
- Декораторы для измерения времени и обработки ошибок
- **`core/alerts.py`** - 249 строк кода
- **`metrics/alerts.py`** - 249 строк кода
- AlertManager для управления алертами
- Настраиваемые правила алертов
- Уведомления в Telegram, email, webhook
#### 🧪 Тесты и проверка
- **`test_monitoring_integration.py`** - интеграционные тесты
- **`test_metrics_simple.py`** - простой тест метрик
- **`metrics/test_monitoring_integration.py`** - интеграционные тесты
- **`metrics/test_metrics_simple.py`** - простой тест метрик
- **`final_test.py`** - финальное тестирование всей системы
#### 📚 Документация
- **`MONITORING.md`** - подробная документация (313 строк)
- **`README_MONITORING.md`** - быстрый старт
- **`GLITCHTIP_SETUP.md`** - настройка GlitchTip
- **`WEBHOOK_ALERTS.md`** - webhook для алертов
- **`START_MONITORING.md`** - полная инструкция по запуску
- **`metrics/MONITORING.md`** - подробная документация (313 строк)
- **`metrics/README_MONITORING.md`** - быстрый старт
- **`metrics/GLITCHTIP_SETUP.md`** - настройка GlitchTip
- **`metrics/WEBHOOK_ALERTS.md`** - webhook для алертов
- **`metrics/START_MONITORING.md`** - полная инструкция по запуску
- **`README_PROJECT.md`** - обзор проекта
- Обновленный **`README.md`** с историей
+10 -10
View File
@@ -27,22 +27,22 @@
### 📁 **Созданные файлы:**
#### Ядро мониторинга:
- `core/monitoring.py` - 276 строк
- `core/alerts.py` - 249 строк
- `metrics/monitoring.py` - 276 строк
- `metrics/alerts.py` - 249 строк
#### Тесты:
- `test_monitoring_integration.py` - 91 строка
- `final_test.py` - 91 строка
#### Документация:
- `MONITORING.md` - 313 строк (основная документация)
- `README_MONITORING.md` - 65 строк (быстрый старт)
- `GLITCHTIP_SETUP.md` - 59 строк (настройка)
- `START_MONITORING.md` - 146 строк (инструкция)
- `metrics/MONITORING.md` - 313 строк (основная документация)
- `metrics/README_MONITORING.md` - 65 строк (быстрый старт)
- `metrics/GLITCHTIP_SETUP.md` - 59 строк (настройка)
- `metrics/START_MONITORING.md` - 146 строк (инструкция)
#### Утилиты:
- `setup_monitoring.py` - 166 строк (автонастройка)
- `test_metrics_simple.py` - 69 строк (тест метрик)
- `metrics/setup_monitoring.py` - 166 строк (автонастройка)
- `metrics/test_metrics_simple.py` - 69 строк (тест метрик)
### 🚀 **Для запуска:**
@@ -83,9 +83,9 @@
### 📞 **Для команды:**
1. **Изучите документацию:** `MONITORING.md`
1. **Изучите документацию:** `metrics/MONITORING.md`
2. **Запустите тесты:** `python final_test.py`
3. **Проверьте настройку:** `python setup_monitoring.py`
3. **Проверьте настройку:** `python metrics/setup_monitoring.py`
4. **Следуйте руководству:** `README_DEVELOPER.md`
**Проект завершен успешно!** 🎊 Ваш телеграм-бот теперь имеет профессиональную систему мониторинга.
+1 -1
View File
@@ -8,7 +8,7 @@ import logging
from typing import Dict, List, Optional, Callable
from datetime import datetime, timedelta
import requests
from .config import Config
from core.config import Config
from .monitoring import MetricsCollector
+1 -1
View File
@@ -12,7 +12,7 @@ from typing import Optional, Dict, Any, Callable
from prometheus_client import Counter, Histogram, Gauge, start_http_server
import sentry_sdk
from sentry_sdk.integrations.logging import LoggingIntegration
from .config import Config
from core.config import Config
class MetricsCollector:
@@ -6,7 +6,7 @@
import logging
from prometheus_client import start_http_server, REGISTRY
from core.monitoring import MetricsCollector
from .monitoring import MetricsCollector
from core.config import Config
@@ -11,8 +11,8 @@ import time
import sys
import io
from core.config import Config
from core.monitoring import MetricsCollector, structured_logger
from core.alerts import AlertManager
from .monitoring import MetricsCollector, structured_logger
from .alerts import AlertManager
# Установка UTF-8 кодировки для вывода
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
+5 -5
View File
@@ -229,7 +229,7 @@ OPENAI_API_KEY = "test_key"
# Создаем обработчик с правильным metrics объектом
from handlers.user_handlers import UserHandlers
from core.monitoring import MetricsCollector
from metrics.monitoring import MetricsCollector
metrics = MetricsCollector(config)
user_handlers = UserHandlers(config, metrics, user_service)
@@ -277,7 +277,7 @@ OPENAI_API_KEY = "test_key"
# Создаем обработчик с правильным metrics объектом
from handlers.user_handlers import UserHandlers
from core.monitoring import MetricsCollector
from metrics.monitoring import MetricsCollector
metrics = MetricsCollector(config)
user_handlers = UserHandlers(config, metrics, user_service)
@@ -319,7 +319,7 @@ OPENAI_API_KEY = "test_key"
# Создаем обработчик с правильным metrics объектом
from handlers.user_handlers import UserHandlers
from core.monitoring import MetricsCollector
from metrics.monitoring import MetricsCollector
metrics = MetricsCollector(config)
user_handlers = UserHandlers(config, metrics, user_service)
@@ -363,7 +363,7 @@ OPENAI_API_KEY = "test_key"
# Создаем обработчик с правильным metrics объектом
from handlers.user_handlers import UserHandlers
from core.monitoring import MetricsCollector
from metrics.monitoring import MetricsCollector
metrics = MetricsCollector(config)
user_handlers = UserHandlers(config, metrics, user_service)
@@ -407,7 +407,7 @@ OPENAI_API_KEY = "test_key"
# Создаем обработчик с правильным metrics объектом
from handlers.user_handlers import UserHandlers
from core.monitoring import MetricsCollector
from metrics.monitoring import MetricsCollector
metrics = MetricsCollector(config)
user_handlers = UserHandlers(config, metrics, user_service)
+3 -3
View File
@@ -9,7 +9,7 @@ import time
import os
from unittest.mock import patch, MagicMock
from prometheus_client import REGISTRY
from core.monitoring import MetricsCollector, structured_logger
from metrics.monitoring import MetricsCollector, structured_logger
from core.config import Config
@@ -227,7 +227,7 @@ class TestErrorHandling:
def test_measure_time_decorator(self, metrics):
"""Тест декоратора measure_time"""
from core.monitoring import measure_time
from metrics.monitoring import measure_time
@measure_time(metrics, 'test_api')
def test_function():
@@ -240,7 +240,7 @@ class TestErrorHandling:
@pytest.mark.asyncio
async def test_error_handler_decorator(self, metrics):
"""Тест декоратора error_handler"""
from core.monitoring import error_handler
from metrics.monitoring import error_handler
@error_handler(metrics, 'test_handler')
async def failing_function():