>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
Nim

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

capture d'écran ttop

Fonctionnalités clés

  1. 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
  2. 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
  3. 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
  4. 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

  1. 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.

  2. Notifications automatiques Configurez l'envoi vers Telegram lorsque la charge CPU est critique ou que la mémoire est faible.

  3. Surveillance des conteneurs Docker Trouvez rapidement les conteneurs "gourmands" en utilisant le filtre #container.

  4. 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