| { |
| "monitoring": { |
| "enabled": true, |
| "interval_seconds": 15, |
| "retention_days": 30 |
| }, |
| "metrics": { |
| "system": { |
| "enabled": true, |
| "collect": [ |
| "cpu_usage", |
| "memory_usage", |
| "disk_usage", |
| "network_io" |
| ] |
| }, |
| "gpu": { |
| "enabled": true, |
| "collect": [ |
| "gpu_utilization", |
| "gpu_memory_used", |
| "gpu_memory_total", |
| "gpu_temperature", |
| "gpu_power_usage" |
| ], |
| "alert_thresholds": { |
| "temperature_celsius": 85, |
| "memory_utilization_percent": 95, |
| "power_watts": 400 |
| } |
| }, |
| "model": { |
| "enabled": true, |
| "collect": [ |
| "requests_per_second", |
| "tokens_per_second", |
| "average_latency_ms", |
| "p50_latency_ms", |
| "p95_latency_ms", |
| "p99_latency_ms", |
| "error_rate", |
| "active_connections", |
| "queue_depth" |
| ] |
| }, |
| "inference": { |
| "enabled": true, |
| "collect": [ |
| "prompt_tokens", |
| "completion_tokens", |
| "total_tokens", |
| "generation_time_ms", |
| "preprocessing_time_ms", |
| "postprocessing_time_ms" |
| ] |
| } |
| }, |
| "alerts": { |
| "enabled": true, |
| "channels": [ |
| "email", |
| "slack", |
| "pagerduty" |
| ], |
| "rules": [ |
| { |
| "name": "high_error_rate", |
| "condition": "error_rate > 0.05", |
| "duration_seconds": 300, |
| "severity": "critical", |
| "message": "Error rate exceeded 5% for 5 minutes" |
| }, |
| { |
| "name": "high_latency", |
| "condition": "p95_latency_ms > 5000", |
| "duration_seconds": 180, |
| "severity": "warning", |
| "message": "P95 latency exceeded 5 seconds" |
| }, |
| { |
| "name": "gpu_temperature_high", |
| "condition": "gpu_temperature > 85", |
| "duration_seconds": 60, |
| "severity": "critical", |
| "message": "GPU temperature critically high" |
| }, |
| { |
| "name": "memory_pressure", |
| "condition": "gpu_memory_used / gpu_memory_total > 0.95", |
| "duration_seconds": 300, |
| "severity": "warning", |
| "message": "GPU memory utilization above 95%" |
| }, |
| { |
| "name": "low_throughput", |
| "condition": "tokens_per_second < 10", |
| "duration_seconds": 600, |
| "severity": "warning", |
| "message": "Throughput below 10 tokens/second" |
| } |
| ] |
| }, |
| "logging": { |
| "level": "INFO", |
| "format": "json", |
| "outputs": [ |
| { |
| "type": "file", |
| "path": "./logs/monitoring.log", |
| "rotation": "daily", |
| "retention_days": 30 |
| }, |
| { |
| "type": "stdout", |
| "enabled": true |
| }, |
| { |
| "type": "elasticsearch", |
| "enabled": false, |
| "host": "localhost:9200", |
| "index": "helion-metrics" |
| } |
| ] |
| }, |
| "prometheus": { |
| "enabled": true, |
| "port": 8001, |
| "path": "/metrics", |
| "namespace": "helion", |
| "subsystem": "inference", |
| "labels": { |
| "model": "Helion-2.5-Rnd", |
| "version": "2.5.0-rnd", |
| "environment": "production" |
| } |
| }, |
| "grafana": { |
| "enabled": true, |
| "dashboards": [ |
| { |
| "name": "Helion Overview", |
| "file": "./monitoring/dashboards/overview.json", |
| "refresh": "30s" |
| }, |
| { |
| "name": "GPU Metrics", |
| "file": "./monitoring/dashboards/gpu.json", |
| "refresh": "15s" |
| }, |
| { |
| "name": "Inference Performance", |
| "file": "./monitoring/dashboards/inference.json", |
| "refresh": "30s" |
| } |
| ] |
| }, |
| "health_checks": { |
| "enabled": true, |
| "endpoint": "/health", |
| "interval_seconds": 30, |
| "timeout_seconds": 10, |
| "checks": [ |
| { |
| "name": "model_loaded", |
| "type": "internal", |
| "critical": true |
| }, |
| { |
| "name": "gpu_available", |
| "type": "internal", |
| "critical": true |
| }, |
| { |
| "name": "inference_responsive", |
| "type": "endpoint", |
| "url": "http://localhost:8000/v1/models", |
| "critical": false |
| } |
| ] |
| }, |
| "tracing": { |
| "enabled": true, |
| "sample_rate": 0.1, |
| "exporter": "jaeger", |
| "endpoint": "http://localhost:14268/api/traces" |
| }, |
| "profiling": { |
| "enabled": false, |
| "interval_seconds": 3600, |
| "duration_seconds": 300, |
| "output_dir": "./profiling" |
| } |
| } |