Visualizzazione dei log su un server Linux remoto


21

Esistono strumenti utili per eseguire un 'tail -f' su un server remoto (linux)? Sarebbe bello poter fare qualcosa come "taillog server_host / var / log / syslog" per visualizzare i log su vari server senza dover accedere.

Che ne dici di un'app che mostra più registri fianco a fianco?

Risposte:


16

Se i file di registro vengono generati sul server client tramite la syslogfunzione, il modo migliore è configurare il demone syslog dei client per inoltrare tali registri a un host separato. Ad esempio, se ho un nome interno syslog.privateche punta al server remoto che desidero ricevere le voci del registro. Posso aggiungere la seguente riga /etc/syslog.confsul sul server client.

*.*          @syslog.private

e quindi riavviare il demone syslog sul client

service syslog reload

Ciò causerà l'invio di tutte le voci che passano attraverso il syslog dei client attraverso il filo syslog.privatee se quella macchina è configurata correttamente, le voci saranno disponibili anche lì. Nei sistemi RedHat questo è controllato dal /etc/sysconfig/syslogfile. Assicurarsi che l' -ropzione sia presente

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

e quindi riavviare il demone syslog sul server ricevente.

Puoi anche controllare ciò che viene inoltrato al server remoto aggiungendo esclusioni, vedi l'esempio di seguito

*.*;mail.none   @syslog.private

Il che dice di inoltrare tutto ad syslog.privateeccezione di qualsiasi cosa inviata alla mailstruttura.

Se questa soluzione funziona per te, potresti prendere in considerazione una delle implementazioni alternative di syslog come rsyslog o syslog-ng , che offrono opzioni di registrazione e archiviazione aggiuntive.


1
+1. I repository di log centralizzati sono fondamentali. È molto bello avere un set pulito di registri dopo un breakin. Bene, non è garantito pulito, poiché possono essere avvelenati da un attaccante. Ma l'attaccante non può rimuovere nulla.
Comandante Keen,

Quindi utilizzare multitail o sperlunk sul server di registrazione centrale è un ottimo modo per farsi un'idea dell'intera rete
Dave Cheney,

9

Se si configura l'autenticazione ssh basata su chiave e sudo sugli host remoti sugli host remoti per consentire l'esecuzione di tail contro i file di registro senza richiedere la password. Sarebbe abbastanza facile creare uno script taillog che faccia quello che vuoi come di seguito. Questo non evita davvero ssh, ma ti fa risparmiare un paio di passaggi.

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

In alternativa, è possibile configurare syslog per inoltrare tutti i messaggi di registro a un sistema centrale e quindi eseguire il comando tail sul server syslog. Guarda i file di registro sul sistema centrale.


5

Consiglio vivamente il multitail per la visualizzazione avanzata dei registri. Auto descritto come coda di steroidi.


Ho appena votato verso il basso non 15 ore fa per quel suggerimento. Rilascerò il distacco ...
Avery Payne,

Hmm, sì, non penso che il multitail sia una risposta esatta alla domanda, ma penso che sia abbastanza prezioso per essere incluso nella risposta. Un voto negativo è piuttosto duro.
gacrux,

d'accordo ingiusto .... multi-log risponde alla metà di questa domanda in due parti - la parte 'side-by-side'. (vimdiff fa anche un buon lavoro, o vim -O almeno) solo perché non si occupa della parte remota è probabilmente il problema.
ericslaw,

3

Questo chiaramente non risponde alla tua domanda, ma se hai più di un paio di registri da guardare e meno del limite di edizione gratuita, puoi provare Splunk gratuitamente per avere un'interfaccia piacevole e utile a tutti i tuoi dati di registrazione.

tail -f supporta più di un registro, ma non fianco a fianco, solo verso il basso.


Splunk ha una funzione di coda che puoi usare per eseguire la coda remota -f su un file. Non credo che lo faccia fianco a fianco, però.
thepocketwade,

2

Multitail farà ciò che cerchi sulla macchina locale. Non menziona specificamente se funzionerà attraverso una rete, sebbene ci siano diversi modi per aggirare ciò (montaggi NFS, montaggi SMB, ecc.) Dice anche che funzionerà come un server syslog, il che implica che potrebbe essere in grado per ricevere dati attivi dal syslog di un'altra macchina, anche se non ho mai usato quella funzione e non so se è così.


2

Sto usando OtrosLogViewer (licenza di Apache Commons). Supporta il registro di coda dai server remoti usando ssh / sftp e samba / CIFS. È possibile codificare molti file di registro in un'unica finestra. Ecco uno screenshot: Schermata di OtrosLogViewer


hai un modello per il file syslog di linux?
Edgard Leal,

Devi creare il tuo modello di base su esempi: code.google.com/p/otroslogviewer/wiki/Log4jPatternLayout
KrzyH

utilizzare il seguente formato per connettersi in SFTP (non esiste un browser UI nella versione 1.4.5):sftp://hostname/path/to/directory
Donatello

1

Ho scritto vsConsole proprio per questo scopo - facile accesso ai file di registro (i permessi di sshing e file sono sempre un problema) - e quindi aggiunto il monitoraggio delle app e il monitoraggio della versione. Mi piacerebbe sapere cosa ne pensi. http://vs-console.appspot.com/

Questa è pensata per essere una curva di apprendimento semplice e bassa, una soluzione con un clic che risolve i problemi di sviluppo comuni per i quali ho sempre avuto bisogno di una soluzione semplice.


0

Potresti usare qualcosa come Phplogcon. Uso rsyslog con mysql e vi invio tutti i log dagli altri miei server. Phplogcon li visualizza quindi attraverso l'uso di un'applicazione web.

Non è l'interfaccia più bella, ma è un bel modo per gli amministratori di accedere ai log senza esporre i server a accessi remoti non necessari.


0

Già menzionato, ma vale la pena ricordare di nuovo. Splunk!

Ho avuto il piacere di creare grandi configurazioni di syslog centrali con una bella interfaccia grafica in passato. È un mondo di dolore. Splunk lo rende un gioco da ragazzi, soprattutto con una licenza aziendale che ti dà una gestione centrale. Se i tuoi registri sono inferiori a 500 milioni al giorno, è gratuito. Altrimenti, può diventare molto costoso, ma ne vale la pena e non solo per un po 'di registrazione: puoi fare molto di più. Di solito difendo le app open source, ma Splunk batte qualsiasi cosa io abbia incontrato.


0

Prova questo:

ssh servername tail -f /var/log/messages

Se il tuo file di registro è protetto:

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

(non devi usare "ssh -f" - è solo così che la tua password non viene ripetuta su TTY)

Se ti piace, puoi usare lo stesso comando con il cluster SSH .


0

Puoi anche utilizzare Octopussy (il mio progetto) per centralizzare i tuoi registri, visualizzare e generare avvisi e rapporti.


-1

Oltre alla risposta @KrzyH (Otros) , ho scritto un'aggiunta a Otros in modo da poter installare un WAR sul computer remoto, quindi tecnicamente puoi usare Otros come servizio web.

Maggiori dettagli qui .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.