#!/usr/bin/env python3 """ Основной скрипт для запуска модуля мониторинга сервера """ import asyncio import logging import os import sys # Добавляем корневую папку проекта в путь sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..')) from dotenv import load_dotenv from infra.monitoring.server_monitor import ServerMonitor # Загружаем переменные окружения из .env файла load_dotenv() # Настройка логирования logging.basicConfig( level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) logger = logging.getLogger(__name__) async def main(): """Основная функция запуска мониторинга""" try: # Создаем экземпляр мониторинга monitor = ServerMonitor() # Отправляем статус при запуске await monitor.send_startup_status() # Запускаем основной цикл мониторинга await monitor.monitor_loop() except KeyboardInterrupt: logger.info("Мониторинг остановлен пользователем") except Exception as e: logger.error(f"Критическая ошибка в мониторинге: {e}") raise if __name__ == "__main__": # Запускаем асинхронную функцию asyncio.run(main())