ttop — Surveillance système avec historique et notifications
Situation familière : le serveur se fige soudainement et vous ne comprenez pas ce qui s'est passé ? Les outils standards comme top ou htop affichent uniquement l'état actuel, mais ne fournissent pas de contexte historique. ttop résout exactement ce problème — un outil de surveillance avec capacité de visualisation de l'historique et un système de notifications flexible.
En quoi ttop est-il meilleur que les outils familiers ?
La principale différence de ttop par rapport aux outils similaires est la sauvegarde des données historiques. Alors que htop affiche uniquement l'état actuel du système, ttop :
- Sauvegarde des instantanés via systemd.timer ou crontab
- Permet de faire défiler l'historique des changements
- Construit des graphiques ASCII pour la visualisation des tendances
- Supporte les déclencheurs pour les notifications

Fonctionnalités clés
-
Données historiques
- Visualisation de l'état du système à n'importe quel moment
- Graphiques ASCII via l'intégration asciigraph
- Possibilité de trouver le moment du pic de charge et de l'étudier en détail
-
Déclencheurs flexibles
- Configuration des notifications via des scripts externes
- Support pour Telegram, email et autres canaux
- Différents types de déclencheurs : pour les événements critiques et informationnels
-
Interface TUI riche
- Mise en surbrillance des valeurs critiques
- Regroupement des processus par programmes
- Filtrage : par utilisateurs (
@user), conteneurs docker (#container) - Arbre des threads d'exécution
-
Installation facile
- Packages prêts pour Arch Linux (AUR)
- Binaires statiques pour x86-64
- Ne nécessite pas les droits root pour fonctionner
Comment cela fonctionne-t-il techniquement ?
ttop est écrit en Nim — un langage de programmation moderne statiquement typé. Le projet utilise :
- systemd.timer/cron pour la collecte de données
- asciigraph pour la visualisation
- Docker API pour la surveillance des conteneurs
Le système de déclencheurs transmet les données aux scripts externes via stdin avec un ensemble de variables d'environnement :
TTOP_ALERT=true/false # признак критического события
TTOP_HOST # имя хоста
TTOP_TYPE # тип события (alert/info)
Utilisation pratique
-
Analyse des problèmes a posteriori Vous avez découvert le matin que le serveur était "tombé" pendant la nuit ? Avec
ttop, vous pouvez consulter l'historique et trouver le moment exact du problème. -
Notifications automatiques Configurez l'envoi vers Telegram lorsque la charge CPU est critique ou que la mémoire est faible.
-
Surveillance des conteneurs Docker Trouvez rapidement les conteneurs "gourmands" en utilisant le filtre
#container. -
Analyse des tendances Les graphiques ASCII aident à visualiser les pics de charge périodiques.
Exemple de configuration des notifications dans Telegram
[[trigger]]
on_alert = true
cmd = '''
read -d '' TEXT
curl -X POST \
-H 'Content-Type: application/json' \
-d "{\"chat_id\": $CHAT_ID, \"text\": \"$TEXT\", \"disable_notification\": $TTOP_INFO}" \
https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage
'''
Cela vaut-il la peine d'essayer ?
ttop est particulièrement utile pour :
- Les administrateurs système
- Les ingénieurs DevOps
- Les développeurs travaillant avec des applications gourmandes en ressources
- Tous ceux qui ont besoin d'une surveillance plus avancée que
top
Le projet est en développement actif, a un code source ouvert (licence MIT) et a déjà collecté plus de 350 étoiles sur GitHub. Si vous faites régulièrement face au besoin d'analyser la charge système, ttop pourrait devenir votre nouvel outil préféré.
Comment installer ?
Pour Arch Linux :
yay -S ttop
Pour les autres systèmes (binaire statique) :
curl -LO https://github.com/inv2004/ttop/releases/latest/download/ttop
chmod +x ttop
mv ttop ~/.local/bin/
Essayez-le — et vous regarderez la surveillance système d'un œil nouveau !
Projets similaires