Affichage des journaux sur un serveur Linux distant

21

Existe-t-il de bons outils pour faire un 'tail -f' sur un serveur distant (Linux)? Ce serait bien de pouvoir faire quelque chose comme "taillog server_host / var / log / syslog" pour afficher les journaux sur différents serveurs sans avoir à faire ssh.

Que diriez-vous d'une application qui affiche plusieurs journaux côte à côte?

ro.
la source

Réponses:

16

Si les fichiers journaux sont générés sur le serveur client via l' sysloginstallation, la meilleure façon est de configurer le démon syslog des clients pour transférer ces journaux vers un hôte séparé. Par exemple, si j'ai un nom interne syslog.privatequi pointe vers le serveur distant que je souhaite recevoir les entrées de journal. Je peux ajouter la ligne suivante au /etc/syslog.confsur le serveur client.

*.*          @syslog.private

puis redémarrez le démon syslog sur le client

service syslog reload

Cela entraînera l'envoi de chaque entrée qui traverse le syslog des clients via le câble syslog.privateet si cette machine est configurée correctement, les entrées y seront également disponibles. Dans les systèmes RedHat, cela est contrôlé par le /etc/sysconfig/syslogfichier. Assurez-vous que l' -roption est présente

% grep "SYSLOGD" /etc/sysconfig/syslog 
SYSLOGD_OPTIONS="-m 0 -r"

puis redémarrez le démon syslog sur le serveur de réception.

Vous pouvez également contrôler ce qui est transmis au serveur distant en ajoutant des exclusions, voir l'exemple ci-dessous

*.*;mail.none   @syslog.private

Qui dit tout transmettre à syslog.privatel'exception de tout ce qui est envoyé à l' mailétablissement.

Si cette solution fonctionne pour vous, vous pouvez envisager l'une des implémentations syslog alternatives comme rsyslog ou syslog-ng , qui fournissent des options de journalisation et de stockage supplémentaires.

Dave Cheney
la source
1
+1. Les référentiels de journaux centralisés sont essentiels à imo. C'est très agréable d'avoir un ensemble de journaux propre après une effraction. Eh bien, ce n'est pas garanti propre, car ils peuvent être empoisonnés par un attaquant. Mais l'attaquant ne peut rien supprimer.
Commandant Keen
Ensuite, utiliser le multitail ou le sperlunk sur votre serveur de journalisation central est un excellent moyen d'avoir une idée de l'ensemble de votre réseau
Dave Cheney
9

Si vous configurez l'authentification ssh basée sur les clés et sudo sur les hôtes distants sur les hôtes distants pour permettre l'exécution de la queue sur les fichiers journaux sans invite de mot de passe. Il serait assez facile de construire un script taillog qui fait ce que vous voulez comme ci-dessous. Cela n'évite pas vraiment ssh, mais cela vous fait économiser quelques étapes.

#!/bin/bash
ssh $1 sudo tail -f $2

Ou, vous pouvez configurer syslog pour transférer tous les messages du journal vers un système central, puis exécuter votre commande tail sur le serveur syslog. Regardez simplement les fichiers journaux sur le système central.

Zoredache
la source
5

Je recommande fortement le multitail pour une visualisation avancée des journaux. Auto-décrit comme une queue sur les stéroïdes.

gacrux
la source
Je viens de voter contre cette suggestion il n'y a pas 15 heures. Je vais dévoiler l'annonce ...
Avery Payne
Hmm, oui, je ne pense pas que le multitail soit une réponse exacte à la question, mais je pense que sa valeur est suffisante pour être incluse dans la réponse. Un vote négatif est assez dur.
gacrux
d'accord injuste .... multi-log répond à la moitié de cette question en deux parties - la partie «côte à côte». (vimdiff fait également un bon travail, ou vim -O au moins) simplement parce qu'il ne traite pas la partie distante est probablement le problème.
ericslaw
3

Cela ne répond clairement pas à votre question, mais si vous avez plus de quelques journaux à regarder et moins que la limite d'édition gratuite, vous pouvez essayer Splunk gratuitement pour avoir une interface agréable et utile à toutes vos données de journalisation.

tail -f prend en charge plusieurs journaux, mais pas côte à côte, uniquement vers le bas.

Vinko Vrsalovic
la source
Splunk a une fonction de queue que vous pouvez utiliser pour faire une queue distante -f sur un fichier. Cependant, je ne pense pas que ce soit côte à côte.
thepocketwade
2

Multitail fera ce que vous recherchez sur la machine locale. Il ne mentionne pas spécifiquement s'il fonctionnera sur un réseau, bien qu'il existe plusieurs façons de contourner cela (montages NFS, montages SMB, etc.) Il indique également qu'il fonctionnera comme un serveur syslog, ce qui implique qu'il pourrait être en mesure de pour recevoir des données actives du syslog d'une autre machine, même si je n'ai jamais utilisé cette fonctionnalité et je ne sais pas si c'est le cas.

Avery Payne
la source
2

J'utilise OtrosLogViewer (licence apache commons). Il prend en charge la journalisation de la queue des serveurs distants à l'aide de ssh / sftp et samba / CIFS. Vous pouvez copier plusieurs fichiers journaux dans une seule fenêtre. Voici une capture d'écran: Capture d'écran d'OtrosLogViewer

KrzyH
la source
avez-vous un modèle de fichier syslog linux?
Edgard Leal
Vous devez créer votre propre base de modèles sur des exemples: code.google.com/p/otroslogviewer/wiki/Log4jPatternLayout
KrzyH
utilisez le format suivant pour vous connecter dans SFTP (il n'y a pas de navigateur UI dans la version 1.4.5):sftp://hostname/path/to/directory
Donatello
1

J'ai écrit vsConsole exactement dans ce but - un accès facile aux fichiers journaux (le sshing et les autorisations de fichiers sont toujours un problème) - puis j'ai ajouté la surveillance des applications et le suivi des versions. J'aimerais savoir ce que vous en pensez. http://vs-console.appspot.com/

Ceci est censé être une courbe d'apprentissage facile et faible, une solution en un clic résolvant les problèmes de développement courants pour lesquels j'ai toujours eu besoin d'une solution simple.

prule
la source
0

Vous pouvez utiliser quelque chose comme Phplogcon. J'utilise rsyslog avec mysql et j'y envoie tous les journaux de mes autres serveurs. Phplogcon les affiche ensuite via l'utilisation d'une application web.

Ce n'est pas la meilleure interface, mais c'est un bon moyen pour les administrateurs d'accéder aux journaux sans exposer les serveurs à des connexions à distance inutiles.

Garry Harthill
la source
0

Déjà mentionné, mais mérite d'être mentionné à nouveau. SPLUNK!

J'ai eu le plaisir de construire de grandes configurations centrales de Syslog avec un joli GUI dans le passé. C'est un monde de douleur. Splunk en fait un jeu d'enfant, en particulier avec une licence d'entreprise qui vous offre une gestion centrale. Si vos journaux sont inférieurs à 500 millions par jour, c'est gratuit. Sinon, cela peut coûter très cher, mais cela en vaut la peine et pas seulement pour un peu de journalisation - vous pouvez faire beaucoup plus. Je préconise généralement les applications open source, mais Splunk bat tout ce que j'ai rencontré.

goo
la source
0

Essaye ça:

ssh servername tail -f /var/log/messages

Si votre fichier journal est protégé:

ssh -f servername sudo tail -f /var/log/messages

(vous n'avez pas à utiliser "ssh -f" - c'est juste pour que votre mot de passe ne soit pas répercuté sur le TTY)

Si vous aimez cela, vous pouvez utiliser la même commande avec le cluster SSH .

Thiago Figueiro
la source
0

Vous pouvez également utiliser Octopussy (mon projet) pour centraliser vos journaux, afficher et générer des alertes et des rapports.

sebthebert
la source
-1

En plus de la réponse @KrzyH (Otros) , j'ai écrit un ajout à Otros pour que vous puissiez installer un WAR sur la machine distante, donc techniquement, vous pouvez utiliser Otros comme service Web.

Plus de détails ici .

OhadR
la source