SLAPolicy · Modelo monitoring
SLAPolicy · Modelo monitoring
Propósito
SLAPolicy es el contrato de tiempos de respuesta y resolución que cada organización define por nivel de riesgo (HIGH, MEDIUM, LOW). Cuando se crea un AIInsight, sla_service.calculate_deadlines consulta la política aplicable y estampa sla_ack_deadline y sla_resolve_deadline en el insight. Un proceso Huey (check_sla_breaches, cada minuto) marca los insights que superan esos plazos. Valores por defecto: HIGH 15/60 min, MEDIUM 30/240 min, LOW 60/480 min.
Contrato
Campos:
| Campo | Tipo | Default | Descripción |
|---|---|---|---|
organization | FK(core.Organization, CASCADE) | — | Propietario |
risk_level | CharField(10) | — | HIGH, MEDIUM o LOW |
ack_minutes | IntegerField | 30 | Minutos para acuse de recibo |
resolve_minutes | IntegerField | 240 | Minutos para resolución |
enabled | BooleanField | True | Desactivar sin borrar |
Métodos:
__str__()—"SLA {risk_level}: ack={ack_minutes}m resolve={resolve_minutes}m".
Meta:
unique_together:["organization", "risk_level"]— una política por nivel y org.verbose_name:"SLA Policy"/"SLA Policies".
Dependencias entrantes
| Módulo | Archivo | Uso |
|---|---|---|
sla_service | monitoring/services/sla_service.py | calculate_deadlines resuelve política y escribe deadlines; check_sla_breaches detecta vencimientos |
| API ITSM | monitoring/api/itsm.py | GET /sla/policies, PUT /sla/policies/{risk_level}, POST /sla/initialize |
| Admin Django | monitoring/admin.py | SLAPolicyAdmin |
| Schemas Ninja | monitoring/api/itsm_schemas.py | SLAPolicyIn / SLAPolicyOut |
Dependencias salientes
core.Organization— FK CASCADE.monitoring.models_insight.AIInsight— receptor indirecto víasla_service.
Ejemplos
# Inicializar políticas por defecto
POST /sentinel/itsm/sla/initialize
# Ajustar tiempo HIGH
PUT /sentinel/itsm/sla/policies/HIGH
{ "ack_minutes": 10, "resolve_minutes": 60, "enabled": true }
# sla_service.calculate_deadlines
policy = SLAPolicy.objects.get(
organization=insight.organization,
risk_level=insight.risk_level,
enabled=True,
)
insight.sla_ack_deadline = now + timedelta(minutes=policy.ack_minutes)
insight.sla_resolve_deadline = now + timedelta(minutes=policy.resolve_minutes)
Related
entity--monitoring--model--escalationpolicy— complementa SLA con niveles de escalado post-vencimiento.entity--monitoring--model--aiinsight— recibe los deadlines calculados.concept--monitoring--itsm— contexto del módulo ITSM.
Véase también
- [[entity—monitoring—model—escalationpolicy]]
- [[entity—monitoring—model—aiinsight]]
- [[concept—monitoring—itsm]]