Aller au contenu

Collecte des performances

InfraRiver mesure ses propres performances en continu, sans agent ni service supplémentaire : la mesure est intégrée au service infrariver (le portail). Cette page explique ce qui est collecté, où, et comment le lire. Pour la démarche de diagnostic, voir Lenteurs et erreurs 504.

Ce qui tourne en permanence

Mécanisme Où Ce qu'il enregistre Réglage
Chronomètre des requêtes infrariver.service (portail) Une ligne SLOWREQ pour chaque page plus lente que le seuil SLOW_REQUEST_SECONDS dans server.conf (défaut 5 s, 0 = désactivé)
Compteur SQL Même service Nombre d'instructions et temps en base, joints à la ligne SLOWREQ Aucun
Journal des requêtes lentes de MariaDB mariadb.service Instructions de plus de long_query_time secondes slow_query_log dans /etc/my.cnf.d/infrariver.cnf (installation, étape 3)

Il n'y a aucune télémétrie : rien ne quitte le serveur. Les lignes ne contiennent ni valeur de paramètre, ni donnée de votre parc.

Lire les requêtes lentes

journalctl -u infrariver --since "-24 hours" -o cat | grep SLOWREQ
SLOWREQ 63.4s GET /servers/ params=f_name,per_page status=200 sql=412 in 61.9s db; slowest 31.0s: SELECT … FROM server_software …
Champ Sens
63.4s Durée réelle de la requête, même si votre proxy avait déjà répondu 504
GET /servers/ Méthode et page
params=f_name,per_page Noms des paramètres, jamais leurs valeurs
status=200 Code renvoyé par InfraRiver
sql=412 in 61.9s db Nombre d'instructions SQL et temps total passé en base
slowest 31.0s: SELECT … L'instruction la plus lente, valeurs remplacées (S pour un texte, N pour un nombre)

Un seuil plus bas (SLOW_REQUEST_SECONDS=2) rend le journal plus bavard et utile le temps d'une enquête ; redémarrez le service après modification.

Ce que vous déclenchez à la demande

Photographie du service à l'instant T

Quand une page « ne finit jamais », le service peut écrire dans son journal ce qu'il est en train de faire : requêtes en cours avec leur âge, état des réservoirs de connexions, pile de chaque thread.

sudo systemctl kill -s SIGUSR1 infrariver
journalctl -u infrariver --since "-1 min" -o cat | grep -A400 PERFDUMP

Le signal n'interrompt rien et ne redémarre pas le service. infrariver-admin perf-report le fait pour vous (fichier 32-inflight-threads).

Journal détaillé de la base, le temps d'une observation

sudo infrariver-admin perf-on       # instructions de plus d'une seconde, dans le journal lent de MariaDB
   … reproduisez la lenteur …
sudo infrariver-admin perf-report   # la synthèse apparaît dans 44-db-slow-statements
sudo infrariver-admin perf-off

perf-on ne survit pas à un redémarrage de MariaDB. Il utilise le compte administrateur de la base par le socket local, à défaut le compte de l'application.

Le rapport complet

sudo infrariver-admin perf-report            # ou --no-dump pour ne pas interroger le service en cours

Il rassemble tout ce qui précède, plus l'état du système et de MariaDB, dans une archive /var/lib/infrariver/diagnostics/perf-<serveur>-<date>.tar.gz (droits 0640), à transmettre au support. Le contenu fichier par fichier est décrit dans Rapport de performance en détail.

Ce qui est retiré avant archivage

Les clés secrètes de server.conf, les valeurs des instructions SQL et les arguments des processus ne sont pas copiés. Si une clé privée ou un jeton est malgré tout détecté, l'archive n'est pas créée.