Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

📈 Uptrends – Monitoring Web, SynthĂ©tique & RUM

Guide complet IDEO-Lab sur la plateforme de "Digital Experience Monitoring" (DEM).

1.1

Concept : DEM

Digital Experience Monitoring (SaaS). Actif vs Passif.

DEM SaaS Uptime
1.2

RUM vs. Synthetics

Le duel : Passif (Vrai Client) vs Actif (Robot).

RUM Synthetics Comparatif
1.3

Checkpoints (Points de Test)

Le réseau global de sondes (+230 sites) pour Synthetics.

Checkpoints Global Sondes
2.1

Synthetics : Uptime

Monitoring simple (HTTP, Ping, TCP, DNS) 24/7.

Synthetics Uptime Ping
2.2

Synthetics : Web Performance

Full Page Check (FPC), Navigateur (Chrome), Vitals.

Synthetics FPC Core Web Vitals
2.3

Synthetics : Transactions

Parcours utilisateur (Enregistreur, Clics, Scripts).

Synthetics Transactions Scénario
3.1

Synthetics : API

Monitoring Multi-Step API (Assertions, Variables).

API Multi-Step Assertions
3.2

Private Checkpoints

Sondes internes (Monitoring de l'Intranet / LAN).

Private Checkpoint Intranet
3.3

Concurrent Monitoring

Simuler des charges (ex: 10 checks en parallĂšle).

Concurrent Charge
4.1

RUM (Real User Monitoring)

Monitoring passif (Vrais utilisateurs), Snippet JS.

RUM Passif JavaScript
4.2

RUM : Vitals & Géo

Core Web Vitals (LCP, INP, CLS), Géo, Navigateur.

RUM Core Web Vitals
4.3

RUM : Erreurs JS & AJAX

Suivi des erreurs JavaScript et des requĂȘtes AJAX (Fetch).

RUM JS Errors
5.1

Infrastructure Monitoring

Monitoring Serveurs (Agent, SNMP, Cloud).

Infrastructure Agent SNMP
5.2

Alerting (Alerts)

Définitions, Niveaux d'Escalade, Services Tiers.

Alertes Escalade
5.3

Intégrations

Slack, PagerDuty, OpsGenie, Webhooks.

Integrations Slack PagerDuty
6.1

Dashboards

Tableaux de bord (Hubs), Partage (Public).

Dashboards Visualisation
6.2

Reporting (Rapports)

Rapports PDF (SLA), Email planifiés.

Rapports SLA PDF
6.3

Cheat-sheet

Bonnes pratiques (Checklist de configuration).

Checklist Bonnes Pratiques
1.1 Concept : DEM (Digital Experience Monitoring)
Qu'est-ce que Uptrends ?

Uptrends (faisant partie d'ITRS Group) est une plateforme de monitoring (supervision) en mode SaaS. Elle est spécialisée dans le DEM (Digital Experience Monitoring), c'est-à-dire la surveillance de l'expérience utilisateur finale, qu'elle soit simulée ou réelle.

Son objectif principal est de rĂ©pondre Ă  la question : "Mon site web (ou mon API) est-il disponible (UP), rapide (FAST) et fonctionnel (WORKING) pour mes utilisateurs, oĂč qu'ils soient dans le monde ?"

Les Deux Piliers d'Uptrends

Uptrends (comme Datadog ou New Relic) divise sa supervision en deux approches complémentaires :

  • 1. Monitoring SynthĂ©tique (Actif / Proactif) : (Voir 2.x)
    • Le Robot : Uptrends utilise ses propres serveurs (Checkpoints) pour simuler un utilisateur (un robot) qui teste votre site 24/7 (ex: toutes les 1 min).
    • Question : "Mon site est-il UP *maintenant* ?"
  • 2. Real User Monitoring (RUM) (Passif / RĂ©el) : (Voir 4.x)
    • Le Vrai Client : Un script JS sur votre site collecte les donnĂ©es de performance de vos visiteurs rĂ©els.
    • Question : "Comment mes utilisateurs en Australie ont-ils vĂ©cu la performance ce matin ?"
1.2 Comparaison : RUM vs. Synthetics

C'est la distinction fondamentale du "Digital Experience Monitoring". Vous avez besoin des deux pour une image complĂšte.

CritÚreSynthetics (Monitoring Actif/Proactif)RUM (Real User Monitoring - Passif/Réactif)
SourceRobots (Checkpoints Uptrends)Vrais utilisateurs (Navigateurs des clients)
CollecteRequĂȘtes HTTP, Navigateur "headless" (Chrome)Snippet JavaScript (rum.js)
ObjectifUptime & Baseline. (Proactif, 24/7).Performance réelle & Démographie. (Réactif).
AvantageDĂ©tecte les pannes en premier (Alerte Ă  3h du matin, mĂȘme sans trafic). Établit une baseline de performance (stable).DonnĂ©es 100% rĂ©elles (Long-tail, "vraie" performance sur un PC lent / 4G). Capture les erreurs JS rĂ©elles.
InconvĂ©nientNe voit pas les problĂšmes des "vrais" utilisateurs (ex: un FAI spĂ©cifique en Australie, un bug JS sur un vieux Safari).Ne voit que s'il y a du trafic (ne dĂ©tecte pas une panne Ă  3h du matin). Les donnĂ©es peuvent ĂȘtre "bruyantes" (Bots, extensions...).
1.3 Checkpoints (Points de Test)

Les Checkpoints sont le réseau mondial de serveurs (sondes) qu'Uptrends utilise pour exécuter le monitoring Synthétique.

Uptrends maintient plus de 230 checkpoints Ă  travers le monde (Paris, Francfort, New York, Tokyo, Sydney...).

Objectif (Perspective Globale)

ProblÚme : Si vous testez votre site (hébergé à Paris) depuis votre bureau (à Paris), il sera rapide. Mais est-il rapide pour vos clients à New York ?

Solution : Lors de la configuration d'un moniteur (ex: Uptime HTTP), vous sélectionnez les Checkpoints qui doivent l'exécuter (ex: "Tester depuis Paris, New York, et Singapour, toutes les 5 minutes").

Détection d'Erreurs (Anti-Faux Positifs)

Si un check échoue (ex: Timeout depuis New York), Uptrends ne déclenche pas l'alerte immédiatement.

Il re-teste immédiatement depuis un autre checkpoint (ex: Chicago) pour confirmer la panne. Si Chicago échoue aussi, l'alerte est "Confirmée" et envoyée. (Cela évite les fausses alertes dues à une micro-coupure réseau locale à New York).

2.1 Synthetics : Uptime (Disponibilité)

C'est le type de monitoring le plus basique. "Est-ce que ça répond ?" (PING).

Uptrends vérifie la disponibilité à la fréquence définie (ex: 1 minute).

Types de Moniteurs "Uptime"
  • Ping (ICMP) : (Couche 3) VĂ©rifie si l'hĂŽte (serveur) est joignable sur le rĂ©seau.
  • HTTP / HTTPS : (Couche 7) Tente de charger une URL.
    • VĂ©rifie le code de statut HTTP (ex: doit ĂȘtre 200 OK).
    • VĂ©rifie le temps de rĂ©ponse (ex: doit ĂȘtre < 2 secondes).
    • (HTTPS) VĂ©rifie la validitĂ© du certificat SSL (Expiration, ChaĂźne).
    • (Optionnel) VĂ©rifie la prĂ©sence d'un mot-clĂ© dans le corps (Body) (ex: "Bienvenue").
  • TCP / UDP : (Couche 4) VĂ©rifie si un port spĂ©cifique est ouvert (ex: TCP Port 3306 pour MySQL).
  • DNS : VĂ©rifie que le DNS rĂ©sout correctement (ex: A Record).
  • SMTP/POP3/IMAP : Teste les serveurs de messagerie.
2.2 Synthetics : Web Performance (Full Page Check)

ProblĂšme : Un check "HTTP" (2.1) vous dit que index.html (10 Ko) charge en 50ms (OK). Mais la page complĂšte (avec 100 images, CSS, JS) prend 10 secondes Ă  s'afficher (PAS OK).

Solution : Full Page Check (FPC). Uptrends charge l'URL dans un vrai navigateur (Chrome "headless") et mesure la performance de toutes les ressources (HTML, CSS, JS, Images, Polices...).

Métriques Collectées (FPC)
  • Temps de chargement total (Total Load Time).
  • Nombre de requĂȘtes (ex: 120).
  • Taille de la page (ex: 3.5 MB).
  • Core Web Vitals (SynthĂ©tiques) : LCP, INP, CLS (tels que mesurĂ©s par le robot).
  • RĂ©partition : (Temps passĂ© sur RĂ©seau, Backend (TTFB), Frontend (Rendu)).
Cascade (Waterfall)

Pour chaque exécution, Uptrends sauvegarde un graphique en "cascade" (similaire aux Outils de Dev Chrome) montrant le temps de chargement de chaque ressource.

Permet de trouver les goulots d'étranglement :

  • Temps de rĂ©solution DNS (lent ?)
  • Temps de connexion TCP/SSL (lent ?)
  • TTFB (Waiting) (Backend lent ?)
  • Content Download (Ressource trop lourde ?)
  • Blocking : Un .js qui bloque le rendu (Render-Blocking) ?
2.3 Synthetics : Transactions (Parcours Utilisateur)

C'est le "Web Application Monitoring". Il ne teste pas 1 URL, mais un scénario métier complet (ex: "Se connecter", "Ajouter au panier", "Valider la commande").

Enregistreur de Transactions (Transaction Recorder)

Uptrends fournit une extension Chrome (Recorder) pour créer le script (sans code) :

  1. (Développeur) : Démarrer l'enregistrement.
  2. (Développeur) : Navigue sur le site (ex: /login).
  3. (Développeur) : Clique sur le champ "Username" (Uptrends capture le Sélecteur CSS/XPath).
  4. (Développeur) : Tape "mon_user".
  5. (Développeur) : Clique sur "Submit".
  6. (Développeur) : Ajoute une "Assertion" (Vérification) -> "Vérifier que le texte 'Bienvenue' est visible".
  7. (DĂ©veloppeur) : ArrĂȘter l'enregistrement.
  8. (Uptrends) : Convertit cela en un script de scénario (multi-étapes).
Exécution

Le checkpoint (robot) rejoue ce scénario (clics, saisie) dans un vrai Chrome (headless) toutes les X minutes.

Alerte : Si l'assertion ("Bienvenue") Ă©choue, le test est "Failed", mĂȘme si le statut HTTP est 200. (Permet de dĂ©tecter les pannes applicatives).

3.1 Synthetics : API Monitoring (Multi-Step)

Similaire au "Transaction Monitoring", mais pour les APIs (REST, SOAP). Il permet de tester des scénarios (workflows) API en plusieurs étapes, sans navigateur.

Concept : Extraction & Assertions

Permet d'extraire des données (Variables) d'une étape pour les réutiliser dans la suivante (Corrélation).

Exemple (Workflow API)
  • Étape 1 : POST /auth (Login)
    • Body : {"user":"...", "pass":"..."}
    • Assertion : VĂ©rifier HTTP Status == 200.
    • Extraction : Extraire $.token (JSONPath) et le stocker dans la variable AUTH_TOKEN.
  • Étape 2 : GET /api/users/me
    • Header : Authorization: Bearer (RĂ©injection de la variable).
    • Assertion : VĂ©rifier HTTP Status == 200.
    • Assertion : VĂ©rifier JSONBody.email == "user@test.com".
3.2 Private Checkpoints (Sondes Internes)

ProblÚme : Les Checkpoints (1.3) sont publics (Internet). Ils ne peuvent pas tester vos applications internes (Intranet, Serveurs dans le LAN/DMZ qui ne sont pas exposés).

Solution

Uptrends vous permet d'installer votre propre sonde (Checkpoint Privé) (un logiciel Windows ou Linux) sur une machine à l'intérieur de votre réseau (LAN ou DMZ).

[INTERNET] <── [FIREWALL] ──> [LAN]
   │                         │
   │ (WAN Checks)            ├─ [Serveur Intranet (192.168.1.50)]
   │                         │
[Uptrends SaaS]              │
   │ (Config)                ├─ [Private Checkpoint (VM Interne)]
   │ (RĂ©sultats)             │    │
   └─────────────────────────(Push)┘  │ (Check local)
                                    └────────────────â–ș (Ping 192.168.1.50)
Usage
  • Superviser un Intranet (SharePoint, CRM interne).
  • Superviser des serveurs internes (Ping, Port TCP) avant qu'ils ne soient visibles par le firewall.
  • Superviser des Ă©quipements SNMP (Switchs, Routeurs) (voir 5.1).
3.3 Concurrent Monitoring

C'est une fonctionnalitĂ© (optionnelle) qui transforme le Monitoring SynthĂ©tique (1 test Ă  la fois) en Test de Charge lĂ©ger (N tests en mĂȘme temps).

Fonctionnement

Au lieu d'exécuter un "Full Page Check" (FPC) depuis 1 checkpoint, vous demandez à Uptrends d'exécuter 10 FPC simultanément (en "concurrence") depuis 10 checkpoints différents.

Usage
  • Simulation de Charge : Simule un "petit" test de charge (ex: 10 utilisateurs concurrents) pour voir l'impact sur le temps de rĂ©ponse (ex: p(90)).
  • Test "Burst" : VĂ©rifie comment le serveur (et le Load Balancer) rĂ©agit Ă  un pic soudain de trafic.

Ce n'est pas un remplacement pour un outil de "stress test" (comme JMeter ou k6), mais c'est un bon test de "fumée" (smoke test) pour la performance sous charge.

4.1 RUM (Real User Monitoring)

RUM (Real User Monitoring), ou monitoring "passif", capture les données de performance directement depuis les navigateurs de vos utilisateurs réels.

Fonctionnement (Snippet JS)
  1. Vous copiez/collez un snippet JavaScript (fourni par Uptrends) dans le <head> de votre site.
  2. Un utilisateur (ex: Ă  Sydney, sur un iPhone) visite votre site.
  3. Le script JS (rum.js) se charge, collecte les métriques (Core Web Vitals, chargement...) dans son navigateur.
  4. À la fin (ex: onLoad), le script envoie un "beacon" (un paquet de donnĂ©es) aux collecteurs Uptrends.
Données Collectées

Le RUM est puissant car il collecte non seulement la performance, mais aussi le contexte :

  • Performance : Temps de chargement, LCP, INP, CLS...
  • Contexte : Navigateur (Chrome, Firefox), OS (Windows, iOS), Type d'appareil (Mobile, Desktop), GĂ©olocalisation (Pays, RĂ©gion).
4.2 RUM : Core Web Vitals & Analyse

Le RUM est la source de vérité pour les Core Web Vitals (CWV), car il mesure ce que Google (CrUX) mesure : les vrais utilisateurs.

Dashboards RUM

L'interface RUM permet de "segmenter" (FACET) les données de performance pour trouver les "Long-tail problems" :

"Montre-moi le P75 (Percentile 75) du LCP..."
  ... "uniquement pour les utilisateurs Mobile"
  ... "uniquement en Australie"
  ... "uniquement sur Chrome"
  ... "uniquement sur la page /checkout"

Résultat (Diagnostic) : "Ah, notre LCP est excellent (1.5s) partout, sauf pour les utilisateurs Chrome en Australie (4.8s). C'est un problÚme de CDN/Routage vers l'Australie."

4.3 RUM : Erreurs JavaScript & AJAX

En plus de la performance, le RUM capture les erreurs "cÎté client" (Front-end).

Suivi des Erreurs JS

L'agent JS (RUM) agit comme un "try/catch" global (window.onerror). Il capture les exceptions JavaScript non gérées (ex: TypeError, ReferenceError) et les envoie.

Usage : AgrĂšge les erreurs (ex: "'null' is not an object s'est produit 500 fois, 90% sur Safari iOS 15").

Suivi des RequĂȘtes AJAX

L'agent "wrap" (enveloppe) les appels Fetch et XMLHttpRequest. Il monitore :

  • Le temps de rĂ©ponse des appels API (ex: GET /api/data).
  • Les Ă©checs (ex: 404 Not Found, 503 Service Unavailable) vus par le client.
5.1 Infrastructure Monitoring

C'est le Monitoring "On-Premise" d'Uptrends. Il permet de superviser la santé (CPU, RAM...) de vos serveurs et équipements réseau.

Monitoring Serveur (Agent)

Un Agent (léger) est installé sur le serveur (Windows, Linux).

Collecte : CPU, Mémoire (RAM), Disque (Utilisation, I/O), Réseau (Trafic, Erreurs), Processus.

Monitoring Réseau (SNMP)

Utilise un Private Checkpoint (3.2) pour effectuer des requĂȘtes SNMP (Polling) (voir guide SNMP) sur vos Ă©quipements rĂ©seau (Switchs, Routeurs, Firewalls).

Collecte : Utilisation de la bande passante (In/Out Octets), CPU, Mémoire (des équipements).

Monitoring Cloud

Utilise un Private Checkpoint (ou le Cloud Uptrends) pour interroger les APIs des fournisseurs Cloud (AWS, Azure) et récupérer les métriques des services managés (ex: AWS RDS, Azure SQL).

5.2 Alerting (Alertes)

Le systÚme d'alertes d'Uptrends est basé sur deux concepts : les Définitions (Conditions) et l'Escalade (Actions).

1. Définitions d'Alertes (Conditions)

Définit quand une alerte doit se déclencher.

  • Simple : Si le moniteur (ex: Ping) est "Unconfirmed" (1 Ă©chec) ou "Confirmed" (2+ Ă©checs).
  • BasĂ©e sur les erreurs : (ex: Erreur SSL, Erreur 404).
  • BasĂ©e sur la performance (Seuil) : (ex: Temps de RĂ©ponse > 5 secondes pendant 3 minutes).
2. Niveaux d'Escalade (Actions)

Définit qui alerter et comment.

Permet de créer des "niveaux" (ex: P1, P2...) basés sur la durée de la panne.

Exemple (Escalade P1) :
- SI (Alerte "Confirmed")
- ALORS (Niveau 1) : Envoyer un (Email) Ă  "Support N1"
- SI (Alerte > 15 minutes)
- ALORS (Niveau 2) : Envoyer un (SMS) + (Slack) Ă  "Support N2"
- SI (Alerte > 1 heure)
- ALORS (Niveau 3) : Appeler (PagerDuty) "Admin Astreinte"
5.3 Intégrations (Alerting)

Uptrends s'intĂšgre nativement avec les outils de "dispatching" d'alertes et de collaboration (ChatOps).

Types d'Intégrations (Destinations)
  • Email : (Base)
  • SMS : (Alerte)
  • ChatOps : (Collaboration)
    • Slack
    • Microsoft Teams
  • Incident Management (Astreinte) : (Escalade)
    • PagerDuty
    • OpsGenie (Atlassian)
    • VictorOps (Splunk)
  • Ticketing (ITSM) :
    • ServiceNow
    • JIRA
  • Webhook (GĂ©nĂ©rique) :
    • Envoyer un payload JSON (POST) Ă  n'importe quelle API (ex: votre propre outil interne).
6.1 Dashboards (Tableaux de bord)

Les Dashboards (Tableaux de bord) sont l'interface de visualisation (Monitoring) d'Uptrends. Ils permettent de combiner des données de Synthetics, RUM, et Infra en une seule vue.

Types de Dashboards (Hubs)
  • SynthĂ©tics Hub : Vue d'ensemble des moniteurs (Uptime, Transactions...).
  • RUM Hub : Vue d'ensemble de l'expĂ©rience utilisateur rĂ©elle (Vitals, GĂ©o...).
  • Infrastructure Hub : Vue d'ensemble des serveurs/switchs.
  • Custom Dashboards : Tableaux de bord personnalisĂ©s (Drag & Drop).
Statut Public (Public Status Page)

Permet de créer un dashboard public (ex: status.ideolab.com) qui affiche l'état (Up/Down) de vos services (sélectionnés) pour vos clients.

6.2 Reporting (Rapports)

Les "Dashboards" sont pour le temps réel. Les Rapports (Reports) sont pour l'analyse historique (hebdomadaire, mensuelle), souvent utilisés pour le management (SLA).

Fonctionnalités
  • Rapports SLA (Service Level Agreement) : GĂ©nĂšre un rapport de disponibilitĂ© (ex: "Uptime de 99.95% ce mois-ci") et de performance (P90) pour prouver le respect des SLAs.
  • Planification (Scheduling) : Permet d'envoyer automatiquement un rapport (ex: "Rapport PDF Hebdomadaire") par email Ă  une liste de destinataires (ex: le client, le manager).
  • Export : (PDF, Excel).
6.3 Cheat-sheet (Bonnes Pratiques)
Checklist de Démarrage (Nouveau Site)
  1. (Synthetics) Configurer un Moniteur "Uptime" (HTTPS) :
    • Intervalle : 1 ou 5 minutes.
    • Checkpoints : SĂ©lectionner au moins 3-5 checkpoints (GĂ©o).
    • Check : VĂ©rifier (Assertion) le code de statut (200) ET la prĂ©sence d'un mot-clĂ© (ex: "Bienvenue").
  2. (Synthetics) Configurer un Moniteur "Full Page Check" (Performance) :
    • Intervalle : 15 ou 30 minutes.
    • Checkpoints : 1 ou 2 (ex: "Paris").
    • Alerting : Mettre une alerte si Temps de chargement > 4 secondes.
  3. (RUM) Déployer l'Agent RUM (JS) :
    • Copier/Coller le snippet JS dans le <head> de toutes les pages.
  4. (Alerting) Configurer les Intégrations :
    • Ajouter l'intĂ©gration Slack (pour le N1/N2) et PagerDuty (pour l'astreinte N3).
    • Configurer les Niveaux d'Escalade.