Page 1 sur 1

[tmux] config complexe, automatique (résolu)

Publié : lun. 30 juin 2014, 00:41
par Moviuro
Plop,

Alors je suis admin de quelques serveurs loin de moi, et j'aimerais garder un œil dessus (genre comprendre pourquoi mon bouncer IRC se viande, par exemple). De plus, j'aimerais garder un oeil sur ma machine avec un journalctl -f qui tourne dans un terminal "drop-down", nommément yakuake.

L'idée serait d'avoir des sessions tmux empilées : chaque niveau de la liste suivante représente un niveau d'empilage.
  • $ journalctl -f sur mon arch à moi
  • tmux sur mon cœur de réseau (ssh 10.3.14.15 puis tmux) :
    • un onglet pour le cœur de réseau (splitté en 3 pour pouvoir # tail -f /var/log/messages et # tail -f /var/log/daemon et # tcpdump -ttt -i pflog0)
    • un onglet semblable par serveur
    • ...
Seulement, je ne veux rien installer sur mes serveurs (ils ont tmux et basta) et j'aimerais que ça soit complètement fail-safe :
  • Mon ordi passe en veille et se réveille souvent : il ne faudrait pas démarrer un tmux sur mon cœur de réseau à chaque fois ;
  • Il se peut que mes serveurs redémarrent et il ne faudrait pas pour autant que leur onglet reste vide : il faut tenter en boucle d'atteindre les machines ;
  • Il se peut que mon cœur de réseau redémarre (bah oui, il a un RAID dégradé en ce moment même) : il faudrait pouvoir relancer le tmux là-bas si besoin était ;
  • J'aimerais faire ça depuis mes 2 PCs portables mais chacun avec leur tmux sur le cœur de réseau (il y a des soucis de taille sinon, puisque j'ai un 18.4" et un 14") ;
  • Il ne faut rien installer sur les serveurs (qui sont sous *BSD) (pas de nouveau soft, je n'ai rien contre quelques fichiers de conf) ;
  • Ça m'arrangerait que mon cœur de réseau ait tout le temps disponible les tmux de statut des serveurs (et donc que moi, depuis mes portables, je ne fasse que me connecter à un tmux existant).
Des idées ?

Déjà, j'ai trouvé :

Code : Tout sélectionner

tmux new-session -d 'journalctl -f'
tmux new-window 'ssh root@10.3.14.15' # adresse du cœur de réseau
tmux -2 attach-session -d
Qui crée un tmux local avec 2 onglets : un qui lance journalctl et l'autre, ssh.

Donc il me manque toute la partie "fail-safe" : prévoir les moments où les machines sont down et ne pas planter.
Voilà :) Maintenant, dodo :dodo:

Re: [tmux] config complexe, automatique

Publié : mar. 08 juil. 2014, 19:28
par Moviuro
Voilà, j'ai trouvé :
~/.tmux.conf

Code : Tout sélectionner

new     -s schizo       -n journal      'sudo journalctl -f'
neww    -n ginfo                        'while true; do ssh odin -t "tmux a -d -t schizo"; sleep 2; done'
selectw -t journal
sur "odin" :

Code : Tout sélectionner

# session for schizophrenia
new     -s schizo       -n odin         'tcpdump -ttt -i pflog0'
splitw  -v              -p 50           'tail -f /var/log/daemon'
splitw  -h              -p 50           'tail -f /var/log/messages'
neww                    -n frigg        'while true; do ssh frigg    "tail -f /var/log/messages"; sleep 2; done'
neww                    -n heimdall     'while true; do ssh heimdall "tail -f /var/log/messages"; sleep 2; done'
neww                    -n grydur       'while true; do ssh grydur   "tail -f /var/log/messages"; sleep 2; done'
neww                    -n hel          'while true; do ssh hel      "tcpdump -ttt -i pflog0";    sleep 2; done'
splitw  -v              -p 50           'while true; do ssh hel      "tail -f /var/log/daemon";   sleep 2; done'
splitw  -h              -p 50           'while true; do ssh hel      "tail -f /var/log/messages"; sleep 2; done'
selectw -t odin
selectp -t 0
TADA !