GH GambleHub

Rapports uptime et audit SLA

1) Pourquoi avez-vous besoin d'un processus formel uptime-reporting

La confiance des clients et la transparence contractuelle sont une méthode de mesure unique, des calculs répétables.
Gestion des erreurs de SLO et de budget - un lien de disponibilité avec les versions et les incidents.
Les crédits SLA corrects sont des formules objectives, des paiements/crédits prévisibles.
Durabilité juridique - base de données probantes, audit indépendant, Legal Hold.


2) Termes et limites

SLI Availability - Proportion de vérifications/transactions réussies par période.
SLO est une cible interne (p. ex. 99. 95 % en 28 jours).
SLA est une obligation extérieure (p. ex. 99. 9 %/mois + services-crédits).
La fenêtre de mesure est le mois civil (SLA) et les fenêtres rolling (SLO).
Scope - Quels sont les composants inclus dans le calcul (edge, API, paiements) et lesquels ne sont pas (admin portal, non-prod).

💡 Règle : SLA ≤ SLO et basé sur les SLI vérifiés par le client.

3) Sources de vérité (et quand quelle est la principale)

1. Synthétique (blackbox/headless) est le SLI primaire pour « l'accessibilité par les yeux de l'utilisateur ».
2. Logs/métriques - confirment l'ampleur et la nature de la défaillance.
3. Événements commerciaux - « succès de la transaction » (par exemple, paiement autorisé).
4. Page de statut - communication publique ; vérifie les faits no 1-3.

En cas de divergences : priorité aux synthétiques avec un quorum correct de ≥2 régions.


4) Méthode de calcul de la disponibilité

4. 1 Formule de base


Availability = Успешные проверки / Все проверки
ErrorBudget = 1 − SLO
Downtime(m) = (1 − Availability) × Длительность_периода(в мин)

4. 2 Quorum multirégional

L'incident est compté si les ≥N des régions indépendantes/ASN enregistrent simultanément une défaillance.
Recommandé : N = 2 sur 3 (EU/NA/APAC).

4. 3 Types de SLI

HTTP SLI: код 2xx/3xx, latency ≤ T.
DNS/TLS SLI: NXDOMAIN/SERVFAIL/expiry.
Activité SLI : transactions réussies/toutes les tentatives (à l'exception des abandons clients).

4. 4 Exceptions (documentées)

Fenêtres de maintenance planifiées annoncées à l'avance N heures et respectées.
Force majeure de la SLA (par exemple, fournisseur de secours IX) - seulement si vous avez des preuves et un avis public.
Erreurs/contraintes du client (quota exceeded, 4xx).


5) Politique de maintenance des fenêtres

Créneaux horaires négociés dans le contrat (par exemple, 02 : 00-04 : 00 UTC + 0).
Les marqueurs 'maintenance = true' dans les alertes/panneaux → une exception à SLI.
Seuil de préavis : 5 jours ouvrables au moins (ou comme dans le contrat).
En dehors de la fenêtre, l'influence SLA est considérée.


6) Conditions d'utilisation et règles d'arrondi

Brownout (détérioration partielle) : compter la proportion de défaillances (weighted downtime) plutôt que « 0/1 ».
Flapping : unité de compte minimale - intervalle d'échantillonnage (par exemple, 30-60 secondes) + hysteresis (pour : 2-5 min).
Clock drift : tout le temps à UTC et ISO-8601 ; synchronisation NTP.


7) Exemples BouQL (synthétique → aptame)

Succès de la vérification HTTP :
promql probe_success{job="blackbox-http"} == 1
p95 latency:
promql histogram_quantile(0.95, sum by (le, target) (rate(probe_http_duration_seconds_bucket[5m])))
SLA-aptyme en un mois (secondes) :
promql sum_over_time((probe_success==1)[30d]) / (30246060)
Refus quorum (3 minutes pour la région ≥2) :
promql sum by (target) (max_over_time((probe_success==0)[3m])) >= 2

8) Exemples SQL (agrégations de rapports)

Aptame et downtime mois :
sql with checks as (
select target, ts, success -- success: 1/0 from synthetic_checks where ts >=:from and ts <:to
),
agg as (
select date_trunc('month', ts) m, target,
sum(success)::float / count() as availability from checks group by 1,2
)
select m, target, availability,
(1-availability) extract(epoch from (date_trunc('month', m) + interval '1 month' - date_trunc('month', m))) / 60 as downtime_minutes from agg;
Rapprochement avec la page d'état (incidents) :
sql select a.m, a.target, a.downtime_minutes, s.incident_id, s.start_utc, s.end_utc from monthly_downtime a left join statuspage_incidents s on a.m = date_trunc('month', s.start_utc)
and tstzrange(s.start_utc, s.end_utc) && daterange(a.m, a.m + interval '1 month');

9) Modèle de rapport mensuel (Customer-friendly)

yaml period: "2025-10-01..2025-10-31 (UTC)"
services:
- name: "API Edge"
sla: "99.90%"
measured_availability: "99.93%"
downtime:
total: "30m 14s"
windows:
- start: "2025-10-12T03:12Z"
end:  "2025-10-12T03:38Z"
impact: "EU+NA, HTTP 5xx spike, p95>2s"
root_cause: "DB connection pool exhaustion"
rca_link: "INC-20251012-0312"
slo_budget:
period_target: "0.10%"
consumed: "0.07%"
- name: "Payments API"
sla: "99.95%"
measured_availability: "99.97%"
summary:
sla_breaches: 0 service_credits: 0 maintenance:
announced: 2 total_duration: "48m"
signatures:
generated_at: "2025-11-01T10:00Z"
report_id: "SLA-2025-10-API"

10) Crédits SLA : calcul et application

Tableau des crédits : par exemple, 99. 0–99. 5% → 5% MRR; 98. 0–99. 0 % → 10 %, etc.
Vrai-up : le crédit est appliqué en tant que note de credit au compte suivant.
Automatisation : règle "si 'measured _ availability <SLA' →' credit _ note. create()`».
Vitrine pour le client : carte de portail « SLA credits balance ».


11) Audit, preuves et Legal Hold

Audit-trail : qui/quoi/quand a calculé, version de la méthode, montants de contrôle.
Les données raw sont immuables (append-only) ; ajustements - par des enregistrements distincts.
Legal Hold : gel de la gamme de données (échantillons, logs, cartes d'incident, alertes).
Réplique des archives : stockage indépendant (WORM/S3 Object Lock).


12) Rapprochement avec la page de statut public

L'incident sur la page de statut doit avoir un délai et des composants.
Une incohérence temps/échelle de → est créée par discrepancy-record et exécutée par RCA.
Le résultat du rapport contient la section « Notes de reconnaissance ».


13) Incidents et rapports

Chaque fenêtre du centre-ville correspond à une carte INC (ID, SEV, propriétaire, RCA, CAPA).
Dans le rapport : lien vers l'INC, court root cause, statut de l'ACPA.
Pour les SEV-1 : l'après-midi ≤ 48h de la fermeture.


14) Contrôle de la qualité des données

Hygiène des échantillons :> 99 % des agents scraps réussis, pas de passes> 5 minutes.
Anti-bruit : quorum + multi-window, debounce.
Le samplage des pistes/logs est enregistré et documenté.
Tests de méthodologie : tests unitaires de calcul, fichiers golden sur les données historiques.


15) Sécurité et vie privée

TLS/mTLS pour ingest, signature de paquet (HMAC).
Édition PII dans les logs/rapports ; Le rapport SLA ne doit pas divulguer de données personnelles.
RBAC/ABAC pour les rapports ; les traces d'accès sont écrites dans le journal d'audit.


16) Dashboards et widgets SLO (que montrer)

Overall disponibilité par service par mois/trimestre.
Downtime Windows avec severity et une chaîne de détails.
Error budget burn (fast/slow) et tendances.
Releases overlay est une annotation de mise en page.
SLA credits forecast - à la tendance actuelle.


17) Plan de mise en oeuvre (3 itérations)

1. Modèle et données (2 semaines) : fixer le SLI/SLO/SLA, inclure le quorum synthétique, collecter les « matières premières » dans le DWH.
2. Calcul et rapport (2-3 semaines) : formules, SQL/BouQL, modèles YAML/PDF, portail client, auto-crédits.
3. Audit et automatisation (3-4 semaines) : Legal Hold, reconciliation avec page de statut, webhooks signés, règles de dispute.


18) Chèque qualité du rapport

  • Défini par scope, SLI, technique et fenêtre de mesure.
  • Il y a quorum et multi-window ; flapping est supprimé.
  • Les exceptions (maintenance/force majeure) sont documentées.
  • Chaque fenêtre downtime est associée à l'INC et à la RCA.
  • Les crédits SLA sont comptabilisés et comptabilisés dans la facturation.
  • Le rapport est reproduit (versions formules/données).
  • Audit-trail et Legal Hold inclus.
  • La page de statut public est harmonisée.

19) Mini-FAQ

Pourquoi la synthétique est-elle la principale source ?
Il est le plus proche du chemin utilisateur et inclut un périmètre (DNS/CDN/WAF). Métriques/logs - précisent la cause.

Comment compter les dégradations partielles ?
Downtime pondéré : la proportion d'échecs × la durée de la fenêtre, pas « tout ou rien ».

Dois-je garder les contrôles « bruts » ?
Oui, oui. Pour l'audit et le rééchelonnement en cas de litige - raw est nécessaire.


Total

Les rapports uptime et l'audit SLA ne sont pas un « chiffre de fin de mois », mais un système reproductible de mesures, de règles et de preuves : SLI correct, contrôles quorum, formules transparentes, combinaison d'incidents et de facturation, contrôle des exceptions et Legal Hold. Fixez la méthode, automatisez le calcul et les crédits, gardez l'audit-trail - et vos SLA deviendront gérables, compréhensibles et sécurisés.

Contact

Prendre contact

Contactez-nous pour toute question ou demande d’assistance.Nous sommes toujours prêts à vous aider !

Commencer l’intégration

L’Email est obligatoire. Telegram ou WhatsApp — optionnels.

Votre nom optionnel
Email optionnel
Objet optionnel
Message optionnel
Telegram optionnel
@
Si vous indiquez Telegram — nous vous répondrons aussi là-bas.
WhatsApp optionnel
Format : +code pays et numéro (ex. +33XXXXXXXXX).

En cliquant sur ce bouton, vous acceptez le traitement de vos données.