# πŸš€ Запуск систСмы ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ## πŸ“‹ Полная инструкция ΠΏΠΎ запуску ### 1. **Установка зависимостСй** ```bash pip install prometheus_client sentry-sdk flask requests ``` ### 2. **Настройка GlitchTip (Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Sentry)** #### Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ A: Docker Compose (рСкомСндуСтся) ```bash # Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ docker-compose.yml cat > docker-compose.yml << EOF version: '3.8' services: postgres: image: postgres:13 environment: POSTGRES_DB: glitchtip POSTGRES_USER: glitchtip POSTGRES_PASSWORD: glitchtip volumes: - postgres_data:/var/lib/postgresql/data redis: image: redis:alpine glitchtip: image: glitchtip/glitchtip:latest ports: - "8000:8000" depends_on: - postgres - redis environment: SECRET_KEY: your-secret-key-here-generate-random-32-chars DATABASE_URL: postgresql://glitchtip:glitchtip@postgres:5432/glitchtip REDIS_URL: redis://redis:6379/0 EMAIL_URL: console:// volumes: - glitchtip_data:/data volumes: postgres_data: glitchtip_data: EOF # ЗапуститС docker-compose up -d ``` #### Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ B: ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Docker ```bash docker run -d --name glitchtip -p 8000:8000 glitchtip/glitchtip:latest ``` ### 3. **Настройка ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² GlitchTip** 1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅: http://localhost:8000 2. Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ 3. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ "Telegram Bot" 4. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ DSN Π² Settings β†’ API Keys 5. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ DSN ### 4. **Настройка ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±ΠΎΡ‚Π°** Π’ `config_local.py` Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅: ```python # ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ENABLE_SENTRY = True SENTRY_DSN = "http://localhost:8000/api/1/project/your-project-id/dsn/" PROMETHEUS_PORT = 8000 # УвСдомлСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ENABLE_DEVELOPER_NOTIFICATIONS = True DEVELOPER_CHAT_ID = -1001234567890 # ID вашСго Ρ‡Π°Ρ‚Π° ``` ### 5. **Запуск ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²** #### Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π» 1: GlitchTip (Ссли Π½Π΅ Ρ‡Π΅Ρ€Π΅Π· Docker) ```bash # Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Docker, пропуститС этот шаг glitchtip runserver 0.0.0.0:8000 ``` #### Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π» 2: Prometheus сСрвСр ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ```bash python prometheus_server.py ``` #### Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π» 3: Webhook для Π°Π»Π΅Ρ€Ρ‚ΠΎΠ² (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ) ```bash python webhook_server.py ``` #### Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π» 4: Основной Π±ΠΎΡ‚ ```bash python new_bot.py ``` ### 6. **ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹** #### ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Prometheus - URL: http://localhost:8000/metrics - ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ: telegram_bot_errors_total, telegram_bot_command_duration_seconds, etc. #### GlitchTip - URL: http://localhost:8000 - ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ошибки ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ #### Π›ΠΎΠ³ΠΈ - Π€Π°ΠΉΠ»: bot.log - Π€ΠΎΡ€ΠΌΠ°Ρ‚: JSON с timestamp, level, message ### 7. **Настройка Π°Π»Π΅Ρ€Ρ‚ΠΎΠ² Π² GlitchTip** 1. Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Alerts 2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: - Condition: "An issue is first seen" - Action: "Send a webhook" - URL: `http://localhost:5000/glitchtip-webhook` ### 8. **ВСстированиС** #### ВСст ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ```bash python test_monitoring_integration.py ``` #### ВСст ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ```bash python test_metrics_server.py ``` ### 9. **ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅** #### Grafana для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ```bash docker run -d -p 3000:3000 grafana/grafana ``` НастройтС Data Source: - Type: Prometheus - URL: http://localhost:8000 #### Π”Π°ΡˆΠ±ΠΎΡ€Π΄Ρ‹ для создания: 1. **ΠžΠ±Π·ΠΎΡ€ ошибок** - Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ошибок ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ 2. **ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ** - врСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ 3. **ΠΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ** - ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈ сообщСния ## 🎯 Π˜Ρ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ статус: βœ… **БистСма ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚!** - πŸ” Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: JSON Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π² bot.log - πŸ“Š ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ: Prometheus Π½Π° ΠΏΠΎΡ€Ρ‚Ρƒ 8000 - πŸ›‘οΈ Ошибки: GlitchTip Π½Π° ΠΏΠΎΡ€Ρ‚Ρƒ 8000 - 🚨 АлСрты: Telegram увСдомлСния - πŸ“š ДокумСнтация: полная Π² README Ρ„Π°ΠΉΠ»Π°Ρ… ## 🚨 Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…: 1. **ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π»ΠΎΠ³ΠΈ:** `tail -f bot.log` 2. **ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ:** `curl http://localhost:8000/metrics` 3. **GlitchTip:** http://localhost:8000 4. **ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ:** ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ config_local.py ## πŸ“ž ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°: ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ… ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π²: - `MONITORING.md` - подробная докумСнтация - `README_MONITORING.md` - быстрый старт - `GLITCHTIP_SETUP.md` - настройка GlitchTip --- **БистСма ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π³ΠΎΡ‚ΠΎΠ²Π° ΠΊ использованию!** πŸŽ‰