teoat's picture
Upload folder using huggingface_hub
4ae946d verified
"""
Production Monitoring Configuration
"""
import os
class MonitoringConfig:
# API Configuration
MONITORING_API_KEY = os.getenv('MONITORING_API_KEY', 'prod-zenith-2024-key')
# Environment
ENVIRONMENT = os.getenv('ENVIRONMENT', 'production')
LOG_LEVEL = os.getenv('LOG_LEVEL', 'INFO')
# Data Retention
METRICS_RETENTION_DAYS = int(os.getenv('RETENTION_DAYS', '30'))
# Monitoring Endpoints
ENABLE_PERFORMANCE_MONITORING = True
ENABLE_SECURITY_MONITORING = True
ENABLE_BUSINESS_METRICS = True
# Alerting
ALERT_THRESHOLDS = {
'response_time_ms': 1000,
'error_rate_percent': 5.0,
'memory_usage_percent': 85.0,
'cpu_usage_percent': 80.0,
'failed_login_attempts': 10
}
# Health Checks
HEALTH_CHECK_INTERVAL = 30 # seconds
# Database Monitoring
DB_SLOW_QUERY_THRESHOLD = 500 # milliseconds
@classmethod
def validate(cls):
"""Validate configuration"""
if not cls.MONITORING_API_KEY:
raise ValueError("MONITORING_API_KEY is required")
if cls.ENVIRONMENT not in ['production', 'staging', 'development']:
raise ValueError(f"Invalid environment: {cls.ENVIRONMENT}")
return True