Cette page décrit Calíope 1.5, la version que nous construisons en ce moment. La 1.4 est terminée et en cours d'examen par Apple, et la boutique propose aujourd'hui la 1.3 sur le Mac et la 1.2 sur iPad. Le changelog indique dans quelle version chaque fonction est arrivée.

Ajoute un bouton « Ouvrir dans Calíope » à chaque sujet. Ne fonctionne qu'avec l'app installée.

Surveillance du serveur

Moniteur de santé des serveurs

Collecte et visualise des métriques historiques d'un ou plusieurs de vos serveurs : QPS, threads, taux de succès du cache, réseau, DML et plus encore. Les données sont stockées sur un serveur centralisé que vous choisissez et restent disponibles même après la fermeture de l'application.

Où le trouver : Espace de travail › Outils › Santé

Le Moniteur de santé vous permet de suivre les performances de plusieurs de vos serveurs dans le temps. Contrairement au Tableau de bord (qui affiche des métriques en temps réel du serveur actuellement connecté), le Moniteur de santé stocke des instantanés historiques dans un magasin centralisé, accessibles depuis n'importe quelle session et partagés entre les membres de l'équipe.

Architecture :
- Serveur de stockage — un serveur où Calíope crée le magasin caliope_monitoring avec ses tables d'instantanés. Sur MySQL et MariaDB c'est une base de données ; sur PostgreSQL c'est un schéma à l'intérieur de la base que vise le profil, donc deux profils du même serveur visant des bases différentes sont deux magasins différents. Il doit être accessible à tous les utilisateurs souhaitant consulter l'historique.
- Serveurs surveillés — les serveurs dont les métriques sont collectées. Ils peuvent être différents du serveur de stockage.
- Moteur de surveillance — s'exécute en arrière-plan dès le lancement de l'application ; l'onglet n'a pas besoin d'être ouvert pour que la surveillance fonctionne.

Configuration initiale :
1. Ouvrez l'onglet Moniteur de santé depuis la barre de navigation du workspace (icône de cœur).
2. Appuyez sur l'icône engrenage (⚙) pour ouvrir les paramètres.
3. Activez le commutateur Activer la surveillance en haut du panneau. Vous pouvez le désactiver à tout moment pour arrêter complètement la collecte de métriques sans perdre votre configuration.
4. Sous Serveur de stockage, sélectionnez un profil de connexion existant et appuyez sur Provisionner. Calíope crée automatiquement le magasin caliope_monitoring et toutes les tables nécessaires. L'utilisateur doit disposer du privilège CREATE sur le serveur sélectionné.
5. Sous Serveurs surveillés, appuyez sur + pour ajouter chaque serveur que vous souhaitez surveiller. Pour chaque serveur, vous pouvez définir :
- Alias — un nom convivial pour l'identifier dans les graphiques.
- Intervalle — fréquence de collecte : 15 s, 30 s, 1 min (défaut), 5 min, 15 min, 30 min ou 1 heure.
- Actif — commutateur pour mettre en pause la surveillance d'un serveur sans le supprimer.
6. Sous Rétention, choisissez combien de jours conserver les données (7, 14, 30, 60, 90 ou 180 jours). L'option « Sans limite » conserve toutes les données indéfiniment.
7. Fermez les paramètres. Le moteur démarre automatiquement si la surveillance est activée.

Fonctionnement en arrière-plan :
La surveillance continue tant que l'application est ouverte, quel que soit l'onglet actif. Si vous fermez et rouvrez l'application, le moteur redémarre automatiquement au lancement.

Visualisation :
- Sélectionnez le serveur dans le sélecteur de la barre supérieure pour afficher ses métriques.
- Choisissez la plage temporelle : 1 h, 6 h, 24 h, 7 j ou 30 j.
- Les indicateurs d'état du moteur (point vert/jaune/rouge) indiquent si la surveillance est active, en cours de démarrage ou déconnectée du serveur de stockage.
- Le bouton recharge manuellement les données depuis le serveur de stockage.
- Le bouton (horloge avec flèche) active l'actualisation automatique toutes les 30 secondes : les graphiques se rechargent automatiquement sans avoir à appuyer sur ↻. Sur macOS, l'étiquette 30 s apparaît à côté de l'icône lorsqu'elle est active. Désactivez-la si vous souhaitez une vue statique pour inspecter les données sans qu'elles changent.

Disponible sur macOS, iPad et iPhone.

Mots-clés : moniteur de santé, health monitor, surveillance, métriques, historique, instantanés, stockage, caliope_monitoring, provisionner, intervalle, rétention, arrière-plan, background, serveur surveillé, qps, cache, innodb, activer, désactiver, actualisation auto, 30 secondes

Métriques du moniteur de santé

Description de chaque graphique : threads connectés, QPS, taux de succès du cache, processus actifs, réseau (octets/s) et DML par seconde.

Où le trouver : Espace de travail › Outils › Santé

Le moniteur affiche six graphiques de séries temporelles, chacun avec une zone de remplissage et une ligne pour faciliter la lecture des tendances. Vous pouvez appuyer ou cliquer sur n'importe quel point du graphique pour voir la valeur exacte à cet instant.

Threads connectés
Nombre de connexions ouvertes à cet instant. Une valeur proche de la limite max_connections indique un risque de saturation.

QPS — Requêtes par seconde
Taux de requêtes exécutées par seconde, calculé comme la différence de Queries entre des instantanés consécutifs divisée par l'intervalle. Reflète la charge générale du serveur.

Taux de succès du cache (%)
Pourcentage de demandes de lecture servies depuis le cache du serveur sans accéder au disque. Calculé comme :

(1 − Δ lectures disque / Δ demandes de lecture) × 100

Chaque moteur publie ces deux compteurs sous ses propres noms, et un serveur qui n'en publie aucun laisse le graphique vide.
Une valeur maintenue en dessous de 95 % indique que le cache est insuffisant pour la charge de travail et devrait être augmenté.

Processus actifs
Nombre de requêtes en cours d'exécution à cet instant (SHOW PROCESSLIST, à l'exclusion des threads en état Sleep). Une valeur élevée et persistante suggère des requêtes lentes ou des verrous.

Réseau (octets/s)
Trafic réseau vers et depuis le serveur :
- RX — octets reçus par seconde (Bytes_received).
- TX — octets envoyés par seconde (Bytes_sent).
Utile pour détecter les requêtes qui transfèrent des volumes de données anormalement importants.

DML/s — Instructions de modification de données
Taux d'instructions DML par seconde, ventilé en :
- SELECT — lectures.
- INSERT — insertions.
- UPDATE — mises à jour.
- DELETE — suppressions.
Une augmentation soudaine des INSERT/UPDATE/DELETE peut indiquer des processus de traitement par lots ou ETL actifs.

Interprétation générale :
- Les graphiques affichent des valeurs calculées à partir des compteurs cumulatifs du serveur, représentant donc des taux par seconde et non des totaux absolus.
- Tous les moteurs ne publient pas tous les compteurs. Ce qu'un serveur ne mesure pas est stocké vide et son graphique reste blanc : PostgreSQL, par exemple, ne compte pas le trafic réseau et ne ventile pas les instructions par verbe, et son QPS compte des transactions plutôt que des instructions.
- Les intervalles d'échantillonnage courts (15 s, 30 s) produisent des graphiques plus détaillés mais génèrent davantage de données sur le serveur de stockage.
- La rétention configurable (voir Moniteur de santé des serveurs) contrôle la période visible dans la plage 30 j.

Mots-clés : threads connectés, threads_connected, qps, requêtes par seconde, taux de succès du cache, taux de succès innodb, innodb hit rate, pool de tampons, buffer pool, processus actifs, processlist, bytes_received, bytes_sent, com_select, com_insert, com_update, com_delete, dml, réseau, throughput, série temporelle, graphique, métriques

Configurer l'historique du Moniteur de santé

Comment activer le monitoring, choisir le serveur de stockage, ajouter des serveurs surveillés et régler la rétention.

Où le trouver : Moniteur de santé › Configurer

Le Moniteur de santé de Calíope conserve un historique de métriques échantillonnées périodiquement sur vos serveurs. Cet historique vit dans un schéma dédié, caliope_monitoring, hébergé sur un serveur que vous choisissez — pas dans l'application.

Ouvrir la fenêtre de configuration
- macOS : menu Fenêtre › Moniteur de santé › Configurer… ou bouton ⚙︎ dans la barre supérieure de la vue Moniteur de santé.
- iPad : dans l'onglet Moniteur de santé, touchez le bouton ⚙︎ de la barre supérieure.

1. Activer le monitoring
- Interrupteur en tête du dialogue. Lorsqu'il est activé, MonitoringEngine démarre en arrière-plan ; lorsqu'il est désactivé, il s'arrête.

2. Serveur de stockage
- Choisissez, dans le sélecteur groupé, lequel de vos profils hébergera le schéma caliope_monitoring.
- Ce peut être le même serveur que vous surveillez ou un serveur dédié (recommandé en production).
- Touchez Provisionner pour que Calíope crée le magasin et les tables requises — l'opération est idempotente (utilise CREATE … IF NOT EXISTS), vous pouvez la relancer sans risque si vous avez supprimé quelque chose manuellement.
- État visuel : Provisionné ✓ en vert lorsque tout fonctionne, ou étiquette rouge avec l'erreur si la connexion échoue.

Tables créées
- caliope_monitoring.monitoring_config — version du schéma, rétention et horodatage du dernier nettoyage.
- caliope_monitoring.monitored_servers — serveurs enregistrés comme surveillés.
- caliope_monitoring.server_snapshots — instantanés temporels (uptime, threads, cache, instructions par verbe, trafic, processus actifs, requête la plus longue, etc.).
- caliope_monitoring.collection_errors — erreurs de collecte, utiles au diagnostic.

3. Serveurs surveillés
- Bouton + pour en ajouter un. Sélectionnez le profil, donnez-lui un alias lisible et choisissez l'intervalle d'échantillonnage (15 s, 30 s, 1 min, 5 min, etc.).
- Chaque ligne dispose d'un interrupteur pour activer/désactiver sans supprimer la configuration, et d'un bouton pour la retirer.
- Le serveur de stockage ne peut pas être ajouté comme serveur surveillé de lui-même.

4. Rétention
- Menu déroulant avec des préréglages (7, 14, 30, 60 jours, etc.).
- La valeur 0 signifie « ne jamais supprimer » et affiche un avertissement orange — n'oubliez pas que server_snapshots grandit à chaque tick.
- Le nettoyage s'exécute à chaque démarrage du moteur et à intervalles réguliers pendant la session.

Notes de sécurité
- Toutes les connexions au serveur de stockage utilisent les mêmes identifiants enregistrés dans le Trousseau pour ce profil (synchronisation Trousseau optionnelle).
- Si vous supprimez l'app ou touchez Effacer toutes mes données, l'app cesse d'écrire ; les tables caliope_monitoring.* demeurent sur le serveur jusqu'à ce que vous les supprimiez manuellement (DROP DATABASE caliope_monitoring;).

Mots-clés : monitoring, moniteur de santé, caliope_monitoring, provisionner, serveur de stockage, storage server, rétention, snapshot, MonitoringEngine, intervalle, polling, monitored_servers, server_snapshots, config