Guidami attraverso i file di registro di Linux (per favore)


11

Ho appena provato a caricare un file da 2 MB in gedit e in silenzio è morto su di me. Mi chiedevo se potesse apparire qualcosa in un file di registro che potesse aiutarmi a diagnosticare questo: ho controllato sysloge scoperto che era confuso. Nel fare questo mi sono reso conto che non so davvero nulla di come è organizzata la registrazione su macchine * nix.

Tutto quello che so al mo è

  1. I registri sono in genere memorizzati in /var/log/... c'è qualcos'altro che dovrei sapere?

  2. Ho familiarità con i registri specifici dell'applicazione, come quelli di apache.

  3. Capisco che dmesgè il registro di avvio ed syslogè un registro di sistema generale ... giusto? Modifica: Bobby dice che dmesgè anche uno scopo generale ... qual è la differenza tra i due?

Qualcuno si preoccuperebbe di portarmi attraverso i registri più utili? I due registri che menziono nel punto finale sono gli unici registri generali ? E quali sono i numeri funky all'inizio delle righe dmesg? Secondi dall'avvio?

Per favore includi qualsiasi cosa nelle tue risposte che pensi possa migliorare la mia comprensione qui e aiutarmi a rintracciare le anomalie!

TIA

Andy


dmesgo /var/log/messagesè un registro messaggi generale, non solo per l'avvio. Inoltre, l'avvio di un'applicazione dal terminale può aiutare il debug di un problema.
Bobby,

sì, ho notato che se inizio le cose dalla riga di comando, spesso mi viene restituito il vomito dall'applicazione. Se avvio lo stesso programma tramite un launcher grafico, quel testo viene perso? È considerata una buona pratica per un'app grafica inviare messaggi stdout?
Andy,

Se avvii un programma graficamente, stdout e stderr saranno collegati al nulla (o / dev / null, del resto), il che significa che tutti i messaggi andranno persi. Se ne hai bisogno, inizia dalla riga di comando o reindirizza l'output su un file impostando il comando nel file .desktop su qualcosa del genere: "some_command &> some_logfile".
petersohn,

La vera domanda è se ne ho bisogno o no! La maggior parte dei programmi lascia un output più utile nei registri? Le persone avanzate di Linux usano in genere il stdoutper aiutare a diagnosticare i problemi con il software (non il loro)? (Fondamentalmente ho familiarità con come afferrare stdout, ma non con quanto utile potrebbe effettivamente essere l'output ...)
Andy

Avvio le applicazioni dal terminale solo se ho problemi con esso (recupero di alcune informazioni di debug e messaggi di errore che potrebbero essere stati ingoiati dalla GUI). E sì, è una buona pratica ed è il comportamento standard di tutte le applicazioni sotto Linux.
Bobby,

Risposte:



12

Mille grazie a Pulse per aver consigliato https://help.ubuntu.com/community/LinuxLogFiles . Ho tagliato alcuni bit e lasciato fuori come usare syslogde altri comandi essenziali, per lasciare questa piccola guida per riferimento futuro. Questo proviene da un sito Ubuntu e non so quanto valga per altre distro.

Registri di sistema

I registri di sistema riguardano principalmente il funzionamento del sistema Ubuntu, non necessariamente con applicazioni aggiuntive aggiunte dagli utenti. Gli esempi includono meccanismi di autorizzazione, demoni di sistema, messaggi di sistema e il registro di sistema onnicomprensivo stesso, syslog.

Registro delle autorizzazioni: /var/log/auth.log

Il registro delle autorizzazioni tiene traccia dell'utilizzo dei sistemi di autorizzazione, i meccanismi per l'autorizzazione degli utenti che richiedono password utente, come il sistema PAM (Pluggable Authentication Module), il sudocomando, gli accessi remoti sshde così via.

Registro dei demoni: /var/log/daemon.log

Il registro del demone contiene informazioni sul sistema in esecuzione e sui demoni dell'applicazione come il demone Gnome Display Manager gdm, il demone Bluetooth HCI hcido il demone del database MySQL mysqld.

Registro di debug: /var/log/debug

Il registro di debug fornisce messaggi di debug dettagliati dal sistema Ubuntu e dalle applicazioni che accedono al syslogdlivello DEBUG.

Registro del kernel: /var/log/kern.log

Il registro del kernel fornisce un registro dettagliato dei messaggi dal kernel di Ubuntu Linux. Questi messaggi possono rivelarsi utili, ad esempio, per la risoluzione dei problemi di un kernel nuovo o personalizzato.

Kernel Ring Buffer: dmesg

Il buffer dell'anello del kernel non è in realtà un file di registro in sé, ma piuttosto un'area nel kernel in esecuzione che è possibile eseguire query per i messaggi di avvio del kernel tramite l' dmesgutilità. Per vedere i messaggi, usa questo:

dmesg | less

Per impostazione predefinita, lo script di inizializzazione del sistema /etc/init.d/bootmisc.shinvia anche tutti i messaggi di avvio al file /var/log/dmesg.

Registro dei messaggi: /var/log/messages

Il registro dei messaggi contiene messaggi informativi dalle applicazioni e dalle strutture di sistema. Questo registro è utile per esaminare l'output dei messaggi dalle applicazioni e dalle strutture di sistema che accedono al syslog/ sysklogdaemon a livello INFO.

Registro di sistema: /var/log/syslog

Il registro di sistema in genere contiene la maggior parte delle informazioni predefinite sul sistema Ubuntu. Può contenere informazioni che altri registri non contengono. Consultare il registro di sistema quando non è possibile individuare le informazioni di registro desiderate in un altro registro.

Log dell'applicazione

Molte applicazioni creano anche i log in /var/log. Se si elencano i contenuti della propria /var/logsottodirectory, verranno visualizzati nomi familiari, ad esempio che /var/log/apache2rappresentano i registri per il server Web Apache 2 o /var/log/sambache contengono i registri per il server Samba.

Registri server HTTP Apache: /var/log/apache2

L'installazione predefinita per Apache2 su Ubuntu crea una sottodirectory log. All'interno di questa sottodirectory ci sono due file di registro con due scopi distinti:

  • /var/log/apache2/access.log - record di ogni pagina pubblicata e di ogni file caricato dal web server.
  • /var/log/apache2/error.log - record di tutte le condizioni di errore segnalate dal server HTTP

Registri del sistema di stampa CUPS: /var/log/cups/error_log

Common Unix Printing System (CUPS) utilizza il file di registro predefinito /var/log/cups/error_logper archiviare messaggi informativi e di errore.

Registro cacciatore di root: /var/log/rkhunter.log

L'utilità Rootkit Hunter ( rkhunter) controlla il sistema Ubuntu alla ricerca di backdoor, sniffer e rootkit, che sono tutti segni di compromissione del sistema.

Log server SMB Samba: /var/log/samba

Il server Server Message Block Protocol (SMB), Samba è comunemente usato per condividere file tra il tuo computer Ubuntu e altri computer che supportano il protocollo SMB. Samba mantiene tre tipi distinti di log nella sottodirectory:

  • log.nmbd - messaggi relativi alla funzionalità NETBIOS su IP di Samba (roba di rete)
  • log.smbd - messaggi relativi alla funzionalità SMB / CIFS di Samba (il file e le cose di condivisione di stampa)
  • log.[IP_ADDRESS] - messaggi relativi a richieste di servizi dall'indirizzo IP contenuto nel nome del file di registro.

Registro server X11: /var/log/Xorg.0.log

Il X11 Windowing Server predefinito in uso con Ubuntu è il server Xorg X11. Questo registro è utile per diagnosticare problemi con l'ambiente X11.

Registri non leggibili dall'uomo

Alcuni file di registro presenti nella /var/logsottodirectory sono progettati per essere leggibili dalle applicazioni, non necessariamente dagli umani. Seguono alcuni esempi.

Registro errori di accesso: faillog

Il registro degli errori di accesso in cui si trova /var/log/faillogè effettivamente progettato per essere analizzato e visualizzato dal faillogcomando.

Log degli ultimi accessi: lastlog

Gli ultimi accessi a cui si accede /var/log/lastlognon devono in genere essere analizzati ed esaminati dagli umani, ma devono piuttosto essere usati insieme al lastlogcomando.

Registro record di accesso: who

Il file /var/log/wtmpcontiene record di accesso, ma a differenza di quanto /var/log/lastlogsopra, /var/log/wtmpnon viene utilizzato per mostrare un elenco di accessi recenti, ma viene invece utilizzato da altre utilità come il whocomando per presentare un elenco di utenti attualmente connessi.


1

syslog (o meglio, syslog.d) è un sistema di log, che è responsabile della scrittura della maggior parte dei log in /var/log. Esistono altri progetti simili, come syslog-ng

system.log è solo un file con un nome specifico in cui syslog scrive


Grazie per la risposta: ero più interessato a un quadro generale della registrazione di Linux. Il mio esempio con syslog era solo un preambolo per spiegare come sono arrivato a questa domanda generale.
Andy,

0

Non dici dove ti trovi, ma Linux Format ha pubblicato un articolo nel numero 132 relativo ai file di registro. Tuttavia, dovrai trovare qualcuno con una copia o acquistare un problema arretrato per recuperarlo.


Sono residente nel Regno Unito, ma spero ancora di poter ottenere le informazioni senza spendere soldi (:
Andy,

2
Sto ancora imparando Linux e ho scoperto che questa è una pagina utile di informazioni help.ubuntu.com/community/LinuxLogFiles
Pulse,

Questo è proprio quello che stavo cercando!
Andy,
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.