Source de l'article (workflow) : Conky - Display logs files
Après avoir parcourus les tréfonds du Regex, avoir emboîté les briques du puzzle ancestrale du grand dieu Sed; notre héro au grand Shell vient nous partager ses créations infernales de la semaine.
D'autres skins à venir, plus que probablement.
Bon amusement ! 😉
Les Conkys
Conky pour afficher les Logs d'Apache2
Source Code : https://gitlab.com/voxdemonix/conky/tree/master/conky_logs_apache2
Ce conky affiche les 15 dernières lignes d'un fichier log apache2 (par défaut /tmp/remote_logs/access.log) avec colorisation des différents éléments.
Il affiche un petit /!\ lorsqu'un code http d'erreur est repéré. Le conky est aussi capable de détecter certains bot voir d'en reconnaître (entre autre actuellement Google, Yahoo et Qwant *1)
*1 j'ai voulu ajouter le bot de linuxfr, mais j'attends que son user agent soit bien établi/pérenne.
Conky pour afficher les Logs de DNSChef
Source Code : https://gitlab.com/voxdemonix/conky/tree/master/conky_logs_dnschef
Ce conky affiche les 15 dernières lignes d'un fichier log de DNSChef (par défaut /tmp/remote_logs/dnschef.log) avec colorisation des différents éléments.
Ce conky est beaucoup plus simple que son frangin ci-haut, dnschef ne transmettant en effet pas énormément d'informations dans ses logs.
Petit rappel : par défaut dnschef ne log rien, il faut ajouter l'option à la commande de lancement pour qu'il log les infos. N'oubliez surtout pas de configurer logrotate car ses logs grossissent très très vite.
Conky pour afficher les Logs de HaProxy
Source Code : https://gitlab.com/voxdemonix/conky/tree/master/conky_logs_haproxy
Conky pour afficher les Logs de OpenVPN
Source Code : https://gitlab.com/voxdemonix/conky/tree/master/conky_logs_openvpn
Exporter vos derniers logs depuis votre serveur :
Sur votre serveur où sont situés vos logs, générez des clés SSH.
( ssh-keygen -t ed25519 -o -a 666 ; ssh-keygen -t rsa -b 4096 -o -a 666 )
Exportez votre clé publique depuis votre serveur où sont vos logs vers votre ordi perso.
ssh-copy-id -i ~/.ssh/id_ed25519.pub your_desktop_user@your_desktop_hostname_in_vpn
Téléchargez ce script, rangez le où vous souhaitez et accordez dessus la permission d’exécution.
cd /opt/scripts
wget https://gitlab.com/voxdemonix/divers-script/raw/master/exportLog_scp.bash
chmod +x ./exportLog_scp.bash
Éditez cron.
sudo crontab -e
Choisissez votre taux de rafraîchissement favoris.
Note : le script copie les données dans un fichier dans /tmp/ avant de l'envoyer au desktop. Je vous conseil de passer par un dossier en mémoire ram (par exemple).
# each minute
* * * * * /opt/scripts/exportLog_scp.bash myOwnDesktop.vpn your_desktop_user /var/log/dnschef/ dnschef.log
# each 15s ( use only on ram storage )
* * * * * /opt/scripts/exportLog_scp.bash myOwnDesktop.vpn your_desktop_user /var/log/dnschef/ dnschef.log
* * * * * ( sleep 15 ; /opt/scripts/exportLog_scp.bash myOwnDesktop.vpn your_desktop_user /var/log/dnschef/ dnschef.log )
* * * * * ( sleep 30 ; /opt/scripts/exportLog_scp.bash myOwnDesktop.vpn your_desktop_user /var/log/dnschef/ dnschef.log )
* * * * * ( sleep 45 ; /opt/scripts/exportLog_scp.bash myOwnDesktop.vpn your_desktop_user /var/log/dnschef/ dnschef.log )
# each 30s ( use only on ram storage )
* * * * * ( /opt/scripts/exportLog_scp.bash myOwnDesktop.vpn your_desktop_user /var/log/dnschef/ dnschef.log ; sleep 30 ; /opt/scripts/exportLog_scp.bash myOwnDesktop.vpn your_desktop_user /var/log/dnschef/ dnschef.log )
# each hour
@hourly ( /opt/scripts/exportLog_scp.bash myOwnDesktop.vpn your_desktop_user /var/log/dnschef/ dnschef.log )
Farm Link
N'hésitez pas à apporter votre pierre à l'édifice voir aussi partager le rendu que ça donne sur vos propres bureaux. 🙂 Si vous souhaitez que le conky colore quelque chose en plus, c'est le bon moment pour demander :)
# Conky et lisibilité du code
Posté par voxdemonix . Évalué à 0.
Auriez-vous une petite astuce pour rendre ce genre de ligne plus lisible?
On peut éventuellement utiliser \ à la fin d'une ligne pour insérer un retour chariot, mais pas indiquer des commentaires dedans avec #.
Je sais qu'on peut passer par un script externe se qui serait plus simple pour la lecture, mais le but est de n'insérer aucune dépendance externe.
[^] # Re: Conky et lisibilité du code
Posté par voxdemonix . Évalué à 1.
Si quelqu'un a une idée ça m'intéresserait fortement car les commandes ne font que s’agrandir :)
[^] # Re: Conky et lisibilité du code
Posté par gaaaaaAab . Évalué à 4.
tu n'es pas obligé de piper tes sed dans des sed. Tu peux traiter des cibles différentes avec un seule invocation de sed. Exemple:
Mais il faut des retours à la ligne pour séparer les différentes parties du script. Du coup, je te conseille de regrouper tous tes traitements sed dans fichier de script sed, que tu peux invoquer avec l'option -f de sed.
[^] # Re: Conky et lisibilité du code
Posté par voxdemonix . Évalué à 1.
Merci pour l'astuce, c'est bon à savoir.
J'essaye d'éviter toute dépendance externe (limiter le conky a son fichier conkyrc plus au pire l'image). Ceci afin d'éviter aux utilisateurs de devoir aller changer les PATH lors de l'installation. (note que je n'ai pas encore testé le fonctionnement des liens relatifs avec conky)
[^] # Re: Conky et lisibilité du code
Posté par gaaaaaAab . Évalué à 3. Dernière modification le 25 septembre 2018 à 15:07.
admettons. L'écriture du script dans la ligne de commande avec des retours à la ligne reste possible (et plus lisible qu'une ligne de 10000 caractères :) ). Si ton éditeur de texte préféré fait de la coloration syntaxique pour sed, tu peux utiliser un fichier de script pour le dév, et recopier ton script dans la ligne de commande pour la version que tu distribues.
[^] # Re: Conky et lisibilité du code
Posté par voxdemonix . Évalué à 1.
Good idea. Je peux caser ca aussi dans un readme dans chaque dossier de conky :)
[^] # Re: Conky et lisibilité du code
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 2. Dernière modification le 08 octobre 2018 à 14:46.
echo "en effet" | sed -e "s/en/absolument/;s/effet/pas/; s/^/ce n'est /; s/$/ necessaire/"
XD
[^] # Re: Conky et lisibilité du code
Posté par voxdemonix . Évalué à 1.
Pas mal, hier je cherchais justement comment faire ce genre de regex :D
[^] # Re: Conky et lisibilité du code
Posté par gaaaaaAab . Évalué à 2.
ah oui, tiens. merci pour la correction. La lisibilité est un point tellement important pour moi que les retours à la ligne me paraissent nécessaires, même s'ils ne le sont techniquement pas.
# conky & retour à la ligne
Posté par voxdemonix . Évalué à 1. Dernière modification le 29 septembre 2018 à 15:12.
Sauriez-vous si on peut forcer le retour à la ligne lorsqu'une ligne dynamique est plus grande que le container conky qui l'héberge ?
# update
Posté par voxdemonix . Évalué à 1. Dernière modification le 07 octobre 2018 à 21:19.
Ptit message pour signaler la mise à jours avec l'ajout de deux conkys. Un pour les logs de HaProxy et un pour les logs d'DpenVPN :)
Quelques skins ont été ajouté et un conky basique permettant d'être facilement ré-utilisé peut être trouvé ici-même.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.