Exploitation

Runbook — exploitation de la pile analytics

Procédures courtes, vérifiables. Toute commande ici a été exécutée au moins une fois.

Contrôler l'état

TerminalCode
pnpm telemetry:status # conteneurs et ports pnpm telemetry:logs # 50 dernières lignes par service pnpm telemetry:test # vérification de bout en bout, par interrogation des données

telemetry:test est le seul contrôle qui prouve quelque chose : les trois autres montrent que les processus tournent, pas que les données arrivent.

Un fournisseur ne reçoit plus rien

  1. Le conteneur tourne-t-il ? pnpm telemetry:status
  2. Les événements sont-ils classés en robot ?
    TerminalCode
    docker logs compose_rybbit-backend_1 2>&1 | grep botDetectionTotals | tail -1
    Pour Umami, comparer le nombre de lignes :
    TerminalCode
    docker exec compose_umami-db_1 psql -U umami -d umami -tAc "select count(*) from website_event;"
  3. La file applicative abandonne-t-elle ? Lire droppedExhausted dans getStats().
  4. Détail des causes connues : troubleshooting.md.

Les journaux n'arrivent plus dans OpenObserve

Isoler le SDK du collecteur en envoyant un journal OTLP brut (troubleshooting.md). Si le journal brut arrive et pas celui du SDK, vérifier que logs.getLogger() renvoie un Logger et non un ProxyLogger.

Disque sous pression

TerminalCode
sudo du -xhd1 /var/lib/docker/volumes | sort -hr | head

Sans sudo, du ne voit pas /var/lib/docker et donne un total trompeur. Réduire la rétention plutôt que supprimer un volume. ClickHouse est le plus gros poste.

Repartir de zéro

TerminalCode
pnpm telemetry:reset # arrêt et suppression des volumes pnpm analytics:up:all node infra/analytics/scripts/openobserve-auth.mjs node infra/analytics/scripts/provision-umami.mjs node infra/analytics/scripts/provision-matomo.mjs node infra/analytics/scripts/provision-rybbit.mjs pnpm telemetry:test

Les scripts de provisionnement sont idempotents : les relancer sur une pile existante réutilise comptes et sites, et régénère seulement les jetons.

Après un build de l'application

TerminalCode
pnpm analytics:check-bundle .next-saclay # aucun secret dans le bundle navigateur curl -s http://localhost:3005/sitemap.xml | grep -m1 '<loc>' # pas de localhost en production

Tout arrêter

TerminalCode
pnpm telemetry:down # volumes conservés