veza/config/metrics.yaml
2025-12-03 22:56:50 +01:00

413 lines
7.8 KiB
YAML

# Configuration des métriques - Veza Platform
# Définit les métriques à collecter et les seuils d'alerte
# Configuration globale
global:
project_name: "Veza Platform"
version: "1.0.0"
environment: "development"
collection_interval: "60s"
retention_period: "30d"
# Métriques de performance
performance:
# Latence API
api_latency:
enabled: true
threshold:
warning: 100 # ms
critical: 200 # ms
percentiles: [50, 90, 95, 99]
# Throughput
throughput:
enabled: true
threshold:
warning: 1000 # req/s
critical: 5000 # req/s
# Mémoire
memory_usage:
enabled: true
threshold:
warning: 80 # %
critical: 95 # %
# CPU
cpu_usage:
enabled: true
threshold:
warning: 70 # %
critical: 90 # %
# Disque
disk_usage:
enabled: true
threshold:
warning: 80 # %
critical: 95 # %
# Métriques de qualité
quality:
# Couverture de tests
test_coverage:
enabled: true
threshold:
warning: 70 # %
critical: 50 # %
targets:
backend: 80
frontend: 75
rust: 85
# Complexité cyclomatique
cyclomatic_complexity:
enabled: true
threshold:
warning: 10
critical: 15
# Duplication de code
code_duplication:
enabled: true
threshold:
warning: 5 # %
critical: 10 # %
# Dette technique
technical_debt:
enabled: true
threshold:
warning: 100 # points
critical: 200 # points
# Métriques de sécurité
security:
# Vulnérabilités
vulnerabilities:
enabled: true
threshold:
warning: 1
critical: 0
severity:
critical: 0
high: 0
medium: 1
low: 5
# Secrets détectés
secrets_detected:
enabled: true
threshold:
warning: 0
critical: 0
# Licences
license_compliance:
enabled: true
threshold:
warning: 5
critical: 10
allowed_licenses:
- "MIT"
- "Apache-2.0"
- "BSD-3-Clause"
- "ISC"
- "GPL-3.0"
# Métriques de disponibilité
availability:
# Uptime
uptime:
enabled: true
threshold:
warning: 99.0 # %
critical: 95.0 # %
# Health checks
health_checks:
enabled: true
threshold:
warning: 95.0 # %
critical: 90.0 # %
endpoints:
- "/health"
- "/api/health"
- "/metrics"
# Erreurs
error_rate:
enabled: true
threshold:
warning: 1.0 # %
critical: 5.0 # %
# Métriques métier
business:
# Utilisateurs actifs
active_users:
enabled: true
threshold:
warning: 100
critical: 50
period: "24h"
# Sessions
sessions:
enabled: true
threshold:
warning: 1000
critical: 500
period: "24h"
# Revenus
revenue:
enabled: true
threshold:
warning: 1000 # $
critical: 500 # $
period: "24h"
# Conversions
conversion_rate:
enabled: true
threshold:
warning: 5.0 # %
critical: 2.0 # %
# Métriques d'infrastructure
infrastructure:
# Conteneurs
containers:
enabled: true
threshold:
warning: 80 # %
critical: 95 # %
metrics:
- "cpu_usage"
- "memory_usage"
- "disk_usage"
# Base de données
database:
enabled: true
threshold:
warning: 80 # %
critical: 95 # %
metrics:
- "connection_pool"
- "query_time"
- "lock_wait"
# Cache
cache:
enabled: true
threshold:
warning: 80 # %
critical: 95 # %
metrics:
- "hit_rate"
- "memory_usage"
- "eviction_rate"
# Métriques des agents IA
agents:
# Planner
planner:
enabled: true
metrics:
- "tasks_processed"
- "prioritization_time"
- "rice_scores_calculated"
threshold:
warning: 10 # tasks/min
critical: 5 # tasks/min
# Researcher
researcher:
enabled: true
metrics:
- "research_queries"
- "sources_analyzed"
- "findings_generated"
threshold:
warning: 5 # queries/min
critical: 2 # queries/min
# Implementer
implementer:
enabled: true
metrics:
- "code_commits"
- "tests_written"
- "builds_successful"
threshold:
warning: 2 # commits/hour
critical: 1 # commits/hour
# QA
qa:
enabled: true
metrics:
- "tests_executed"
- "bugs_found"
- "coverage_improved"
threshold:
warning: 50 # tests/hour
critical: 25 # tests/hour
# Docs
docs:
enabled: true
metrics:
- "pages_updated"
- "diagrams_generated"
- "links_verified"
threshold:
warning: 5 # pages/hour
critical: 2 # pages/hour
# Maintainer
maintainer:
enabled: true
metrics:
- "dependencies_updated"
- "security_patches"
- "cleanup_tasks"
threshold:
warning: 10 # tasks/hour
critical: 5 # tasks/hour
# Configuration des alertes
alerts:
# Canaux de notification
channels:
email:
enabled: false
recipients:
- "dev-team@veza-platform.com"
- "tech-lead@veza-platform.com"
slack:
enabled: false
webhook_url: "${SLACK_WEBHOOK_URL}"
channel: "#veza-platform"
github:
enabled: true
repository: "okinrev/veza-full-stack"
create_issues: true
# Règles d'alerte
rules:
- name: "High API Latency"
condition: "api_latency > 200ms"
severity: "critical"
channels: ["slack", "github"]
- name: "Low Test Coverage"
condition: "test_coverage < 50%"
severity: "critical"
channels: ["email", "github"]
- name: "Security Vulnerability"
condition: "vulnerabilities > 0"
severity: "critical"
channels: ["email", "slack", "github"]
- name: "High Memory Usage"
condition: "memory_usage > 95%"
severity: "warning"
channels: ["slack"]
- name: "Agent Performance"
condition: "agent_tasks < 5/hour"
severity: "warning"
channels: ["github"]
# Configuration des tableaux de bord
dashboards:
# Tableau de bord principal
main:
enabled: true
refresh_interval: "30s"
panels:
- "api_latency"
- "throughput"
- "error_rate"
- "active_users"
# Tableau de bord des agents
agents:
enabled: true
refresh_interval: "60s"
panels:
- "agent_tasks"
- "agent_performance"
- "agent_errors"
# Tableau de bord de sécurité
security:
enabled: true
refresh_interval: "5m"
panels:
- "vulnerabilities"
- "secrets_detected"
- "license_compliance"
# Configuration des rapports
reports:
# Rapport quotidien
daily:
enabled: true
schedule: "0 9 * * *"
recipients:
- "dev-team@veza-platform.com"
metrics:
- "performance_summary"
- "quality_summary"
- "security_summary"
# Rapport hebdomadaire
weekly:
enabled: true
schedule: "0 9 * * 1"
recipients:
- "tech-lead@veza-platform.com"
- "product-manager@veza-platform.com"
metrics:
- "trend_analysis"
- "agent_performance"
- "business_metrics"
# Rapport mensuel
monthly:
enabled: true
schedule: "0 9 1 * *"
recipients:
- "cto@veza-platform.com"
- "ceo@veza-platform.com"
metrics:
- "comprehensive_analysis"
- "predictive_insights"
- "recommendations"
# Configuration des exports
exports:
# Prometheus
prometheus:
enabled: true
endpoint: "/metrics"
port: 9090
# Grafana
grafana:
enabled: true
port: 3000
datasource: "prometheus"
# Elasticsearch
elasticsearch:
enabled: true
index: "veza-platform-metrics"
retention: "30d"