Dashboard et centre de controle
Dashboard & Control Room
Vue d'ensemble
Le dashboard Probr offre un centre de controle centralise pour surveiller l'etat de sante de tous vos clients, sites et probes en temps reel. L'endpoint principal retourne une vue hierarchique :
Client → Sites → Probes → Derniers resultats
Chaque niveau agrege le statut de ses enfants selon un systeme de priorite au pire statut.
Hierarchie des statuts
Probr utilise quatre niveaux de statut, du plus grave au moins grave :
| Statut | Priorite | Signification |
|---|---|---|
critical |
Maximale | Une probe a detecte une panne majeure |
error |
Haute | L'execution de la probe a elle-meme echoue |
warning |
Moyenne | Un seuil a ete depasse |
ok |
Normale | Tout fonctionne correctement |
Le statut global d'un site est le pire statut parmi ses probes actives. Le statut global d'un client est le pire statut parmi ses sites actifs.
Endpoint API
GET /api/dashboard/overview
Retourne la vue complete du centre de controle avec tous les clients actifs, leurs sites, les statuts des probes et les alertes recentes.
Schema de reponse :
{
"total_clients": 3,
"total_sites": 8,
"total_ok": 6,
"total_warning": 1,
"total_critical": 1,
"clients": [
{
"client_id": "uuid",
"client_name": "Acme Corp",
"overall_status": "warning",
"total_sites": 2,
"sites_ok": 1,
"sites_warning": 1,
"sites_critical": 0,
"active_alerts": 1,
"sites": [
{
"site_id": "uuid",
"site_name": "acme.com - Production",
"site_url": "https://acme.com",
"overall_status": "ok",
"probes": [
{
"probe_type": "http_health",
"status": "ok",
"message": "HTTP 200 in 142ms",
"last_check": "2025-02-24T10:30:00Z",
"response_time_ms": 142.5
}
],
"active_alerts": 0
}
]
}
],
"recent_alerts": [
{
"id": "uuid",
"site_id": "uuid",
"probe_config_id": "uuid",
"severity": "warning",
"probe_type": "http_health",
"title": "[WARNING] http_health — staging.acme.com",
"message": "HTTP 503 — Service Unavailable",
"is_resolved": false,
"resolved_at": null,
"notified_at": "2025-02-24T10:31:00Z",
"created_at": "2025-02-24T10:30:00Z"
}
]
}
Champs de la reponse
| Champ | Type | Description |
|---|---|---|
total_clients |
int | Nombre de clients actifs |
total_sites |
int | Nombre de sites actifs tous clients confondus |
total_ok / total_warning / total_critical |
int | Nombre de sites par statut |
clients[] |
array | Liste des aperçus clients |
clients[].sites[] |
array | Liste des aperçus sites pour ce client |
clients[].sites[].probes[] |
array | Dernier resultat pour chaque probe active |
recent_alerts |
array | 20 dernieres alertes (resolues et non resolues) |
Fonctionnement
- L'endpoint charge tous les clients actifs avec leurs sites et configurations de probes
- Pour chaque probe active, il recupere le dernier resultat en base de donnees
- Il compte les alertes non resolues par site
- Il calcule les statuts agreges de bas en haut (probe → site → client)
- Il retourne les 20 dernieres alertes tous sites confondus
Cas d'usage
- Monitoring en un coup d'oeil : voir quels clients/sites necessitent une attention
- Investigation : identifier quelle probe specifique a declenche un probleme
- Flux d'alertes : consulter les alertes recentes et leur statut de resolution
- Reporting SLA : suivre la disponibilite sur l'ensemble de votre portefeuille client