Loading...

Linux e File di Log

Una delle cose che rendono Linux un sistema operativo affidabile e sicuro è che praticamente tutte le operazioni vengono registrate. Queste informazioni sono estremamente importi per poter identificare eventuali problemi. I logs, se usati correttamente, vi forniranno tutte le informazioni di cui avete bisogno.
Il vostro sistema Linux registra le informazioni in diversi files di log. Questi files di log sono generalmente in formato ASCII standard e vengono generalmente registrati nella directory /var/log. Molti files vengono generati dal programma syslogd, mentre altri vengono venerati direttamente dalle applicazioni.
Questa guida spiega come leggere ed utilizzare alcuni di questi log di sistema, come configurare il programma di gestione del logging, syslogd, e come funziona la rotazione automatica dei log.

Log di sistema
I log di sistema si occupano principalmente di tenere sotto controllo il funzionamento di Linux, non necessariamente delle applicazioni installate dagli utenti. Ad esempio vengono monitorati l’accesso al sistema, i daemons di sistema, i messaggi di sistema, etc.

Log di autorizzazione
Il log di autorizzazione tiene traccia del sistema di autenticazione, dei sistemi che si occupano di gestire e richiede agli utenti le password, comne il modulo PAM, il comando sudo, gli accessi da remoto, etc. Il log di autorizzazione viene salvato in /var/log/auth.log.
Per leggere solo le righe dei logs che ci interessano ` possibile utilizzare il programma grep. Per esempio per controllare solo le righe relative ai logins sshd :
grep sshd /var/log/auth.log | less
Daemon Log

Il daemon ` un programma che gira in automatico in background, svolgendo alcune operazioni che garantiscono il corretto funzionamento del sistema. Il log /var/log/daemon.log contiene informazioni relative ai vari servizi che girano in background, come lo Gnome Display Manager, il servizio Bluetooth hcid, o il servizio MySQL mysqld.

Anche in questo caso è possibile utilizzare grep per trovare le informnazioni che ci interessano.

Debug Log
Il debug log viene salvato in /var/log/debug e fornisce informazioni dettagliate sul sistema Linux e sulle applicazioni che hanno impostato un livello di log DEBUG.

Kernel Log
Il kernel log viene salvato in /var/log/kern.log e fornisce informazioni dettagliate provenienti dal kernel Linux. Questi messaggi possono essere utili per controllare problemi relativi ad un kernel nuovo e compilato dall’utente.

Kernel Ring Buffer
Il kernel ring buffer non è un vero e proprio log ma un’area del kernel che può essere utilizzata per visualizzare i messaggi dei avvio del kernel utilizzando l’utility dmesg. Per visualizzare i messaggi utilizzare :
dmesg | less
Ad esempio per cercare i messaggi relativi al sistema Plug & Play :
dmesg | grep pnp | less
In alternativa è possibile cercare le stesse informazioni nel file /var/log/dmesg.

Message Log
Il messages log viene salvato in /var/log/messages e fornisce informazioni provenienti sia dalle applicazioni che dal sistema operativo. Questo log è utile per controllare i messaggi di log generati dalle applicazioni o dal sistema operativo che hanno impostato un livello di log INFO.

System Log
Il system log viene salvato in /var/log/syslog e fornisce la maggior parte delle informazioni provenienti dal sistema operativo. Controllate questo file se non riuscite a trovare le informazioni desiderate in nessun altro log.

Application Log
Alcune applicazioni generano anche dei logs personalizzati in una subdirectory nella cartella /var/log. Ad esempio /var/log/apache2 contiene i files di log relativi al web server Apache 2.

Log in formato non leggibile ad occhio umano
Alcuni files di log salvati nella cartella /var/log vengono salvati in un formato utilizzabile solo da altre applicazioni e non manualmente. Ad esempio:

Log con errori di login
Eventuali errori di login vengono registrati nel file /var/log/faillog in un formato non leggibile ad occhio umano. Per visualizzare gli errori recenti di login:
faillog
Log con gli ultimi login

Gli ultimi login vengono registrati in /var/log/lastlog. Per leggere il contenuto del file è necessario utilizzare il comando lastlog.

Come Configurare la Tastiera

Forse non sai che è possibile personalizzare la tastiera del PC. Sebbene siano universalmente diffuse nel mondo dell’informatica, le tastiere possono rivelarsi per molti utenti sorprendentemente poco conosciute. Tuttavia, anche chi usa solo occasionalmente il computer sarà di certo felice di risparmiare tempo e fatica nella battitura di un documento.

A questo scopo windows mette a disposizione degli utenti alcuni piccoli accorgimenti per personalizzare la tastiera e renderla più maneggevole e adatta alle loro esigenze. Nel pannello di controllo si trova l’icona tastiera: con un doppio clic su di essa si aprirà la finestra proprietà tastiera. La maggior parte delle opzioni riguarda la velocità, cioè la reattività alla pressione dei tasti.

Nella linguetta velocità troverai i comando ritardo di ripetizione e velocità di ripetizione. Il primo si riferisce al tempo necessario perchè la pressione continuata di un tasto provochi la ripetizione del carattere corrispondente. Molte persone nel corso della scrittura mantengono i tasti involontariamente premuti più tempo del dovuto.

Il comando velocità di ripetizione regola invece la velocità con cui a tasto premuto, il carattere si visualizza sullo schermo. Converrà regolarla in modo opportuno, per evitare che la pressione di un tanto mantenuta per pochissimi secondi provochi un numero eccessivo di battute. Analogamente è possibile modificare la velocità dell’intermittenza del cursore.

Bisogna poi segnalare che sul mercato ci sono tastiere, specialmente quelle dedicate al gioco, che vengono vendute con programmi che permettono una configurazione dettagliata. Per dettagli è possibile vedere questa guida sulle tastiere gaming su Sceltatech.com.

Le normali tastiere sono comunque adatte per le esigenze della maggioranza delle persone.

Linea di Comando Linux

In poche parole la linea di comando è un’insieme di strumenti che trasformano quello che in una comune interfaccia grafica diventerebbe un lavoro lungo e tedioso in un lavoro di pochi secondi. Ad esempio rimozione delle ultime quattro righe da un insieme di files di grandi dimensioni potrebbe essere un processo complesso se eseguito da un’applicazione grafica, ma può diventare banale utilizzando la riga di comando.

Risulta essere importante sapere che i i sistemi di Linux base mancano completamente di interfaccia grafica. Per questo è importante essere capaci ad utilizzare la linea di comando ed avere una conoscenza sufficiente per eseguire alcuni lavori di manutenzione.

I comandi possono sembrare complessi vista la loro tendenza ad essere abbreviati.

Shell Prompt

Per ogni distribuzione di Linux la linea di comando sembrerà leggermente differente. Ad esempio si potrebbe vedere il nome utente, il simbolo ‘@’, il nome della macchina, la directory corrente e una sorta di simbolo per indicare la fine del prompt (qui, un segno di dollaro).

user@linux ~/$
Si può anche vedere il tuo nome utente, uno spazio, il nome di dominio completo del computer, il percorso completo della directory di lavoro un simbolo per indicare la fine del prompt (un cancelletto).

user linux.test.org /home/user#
Il prompt varia da sistema a sistema in base ad un certo numero di cose. Ad esempio, può essere la configurazione di default impostata dai creatori della vostra particolare distribuzione Linux. Potrebbe averlo configurato la persona che amministra il computer. Il modo di configurare l’aspetto del prompt dei comandi dipende dalla shell che si utilizza.

La shell è quella che più comunemente viene identificata come “la riga di comando”, quando, in realtà, è semplicemente un software che fornisce un’interfaccia per i servizi di un kernel. La distinzione tra la ‘shell’ e la ‘linea di comando’ è semplicemente che la shell si riferisce a un software specifico (ad esempio BASH, Tch, ksh, etc) che fornisce un’interfaccia alla riga di comando. La maggior parte dei moderni sistemi Linux usano BASH (Bourne Again Shell) come shell di default.

Come Funziona Logwatch su Linux

Logwatch è una utility utilizzata per controllare i log di sistema e generare in automatico dei report automatici che possono essere inoltrati all’amministratore di sistema via mail. Questi report aiutano gli amministratori di sistema a controllare eventuali attività illecite senza dover analizzare manualmente i logs.

Configurare Logwatch

Una volta installato Logwatch, dovrete configurarlo per inoltrare i report via email. Anche se è consigliabile studiare l’intero file di configurazione le righe più importanti da cambiare nel file /usr/share/logwatch/default.conf/logwatch.conf sono le seguenti:
Output = mail
Format = html
MailTo = myemail@mydomain.com
MailFrom = logwatch@mydomain.com
Utilizzando queste impostazioni Logwatch inoltrerà i report in formato HTML.
Per controllare che Logwatch funzioni correttamente utilizzare questo comando:
logwatch
Una volta lanciato questo comando dovrete controllare la vostra email per essere sicuri che Logwatch funzioni correttamente. Controllate anche la casella spam nel caso in cui queste mail siano viste come spam.

Aggiungere un crontab per Logwatch

Potete aggiungere un cron job for Logwatch per fare in modo di ricevere giornalmente nuovi reports. Per aggiungere al crontab un nuovo valore utilizzare il comando crontab -e. In questo esempio il Logwatch viene lanciato all’1 del mattino ogni giorno:
# m h dom mon dow command
0 1 * * * /usr/sbin/logwatch

Molto interessante.

Diagnosticare Problemi di Rete su Server Linux

I seguenti suggerimenti aiutano nell’utilizzo degli strumenti per la diagnosi dei problemi di rete. Se si sospetta di avere problemi con la connessione per favore includere anche i risultati della diagnostica al fine di aiutare il nostro staff nella corretta diagnosi del problema. Questo è particolarmente utile nei casi di connessione di rete ad intermittenza.

il comando ping effettua una connessione tra la macchina locale e l’indirizzo della macchina remota. Il comando è ping www.linux.org

ping www.linux.org
Questo comando invia un pacchetto di dati da un bit (ad esempio un pacchetto ICMP) all’indirizzo della macchina remota e aspetta un responso. Se la connessione è possibile per ogni pacchetto inviato sarà restituito un report sul quale è indicato il tempo di “andata e ritorno”. Qui un esempio di report di quattro pings di www.linux.org:

64 bytes from www.linux.org (198.182.196.56): icmp_seq=1 ttl=50 time=24.8 ms
64 bytes from www.linux.org (198.182.196.56): icmp_seq=1 ttl=50 time=24.8 ms
64 bytes from www.linux.org (198.182.196.56): icmp_seq=1 ttl=50 time=24.8 ms
64 bytes from www.linux.org (198.182.196.56): icmp_seq=1 ttl=50 time=24.8 ms
In questo caso 198.182.196.56 è l’indirizzo IP di www.linux.org. Il campo specifica il tempo in millisecondi del viaggio di andata e di ritorno di ogni pacchetto inviato. Quando avrete raccolto la sufficiente quantità di informazioni premere Control + C per interrompere il processo. A questo punto, ti sarà presentato con alcune statistiche come il seguente esempio:

— www.linux.org ping statistics —
4 packets transmitted, 4 received, 0% packet loss, time 2006ms
rtt min/avg/max/mdev = 141.252/141.252/141.252/0.000 ms
Ci sono diversi dati importanti quali:

Pacchetti persi, o la discrepanza tra il numero di pacchetti inviati e il numero di pacchetti restituiti con successo.
Statistiche sul tempo di andata e ritornoimportante relazione finale su tutte le risposte del comando di ping.
Usa il comando di ping solo se sei sicuro di poter effettuare una connessione con la macchina remota Inoltre, il ping è utile anche come strumento diagnostico per misurare la latenza di reti punto-punto, e come strumento di test della stessa connessione di rete.

Il comando traceroute aumenta le funzioni del comando ping.
traceroute fornisce un dettagliato report sul percorso effettuato dal pacchetto inviato alla macchina remota. Le infirmazioni sul tragitto effettuato sono utili per risolvere problemi relativi alla rete. Se viene visualizzato nel report la perdita di pacchetti uno dei primi salti il problema è spesso relativo alla rete LAN locale o al provider internet (ISP). Di contro se la perdita viene evidenziata alla fine del tracciato il problema può essere causato dalla connessione del server.

Qui un esempio di report proveniente dal comando traceroute:

traceroute to linux.org (198.182.196.48), 30 hops max, 40 byte packets
1 194.44.193.129 (194.44.193.129) 1.020 ms 0.964 ms 0.932 ms
2 Core320UbbV50.uar.net (194.44.212.13) 1.093 ms 1.142 ms 1.129 ms
3 212.162.19.57 (212.162.19.57) 22.783 ms 22.788 ms 22.766 ms
4 vlan99.csw4.Frankfurt1.Level3.net (4.68.23.254) 26.658 ms 26.871 ms 26.805 ms
5 ae-92-92.ebr2.Frankfurt1.Level3.net (4.69.140.29) 24.646 ms 24.650 ms 24.629 ms
6 ae-42-42.ebr2.Washington1.Level3.net (4.69.137.54) 113.685 ms 113.521 ms 113.485 ms
7 ae-3-3.ebr1.NewYork2.Level3.net (4.69.132.90) 116.565 ms 112.233 ms 110.113 ms
8 4.69.148.49 (4.69.148.49) 116.101 ms 116.131 ms 116.292 ms
9 ae-61-61.csw1.NewYork1.Level3.net (4.69.134.66) 121.134 ms 127.057 ms 123.127 ms
10 ae-22-79.car2.NewYork1.Level3.net (4.68.16.68) 116.527 ms 121.049 ms 121.030 ms
11 ALLSTREAM-I.car2.NewYork1.Level3.net (4.78.166.90) 119.149 ms 118.800 ms 120.461 ms
12 pos5-0-0.hcap1-ott.bb.allstream.net (199.212.172.2) 136.495 ms 136.499 ms 134.013 ms
13 216.191.132.150 (216.191.132.150) 141.151 ms 140.188 ms 140.470 ms
14 router.invlogic.com (207.245.34.122) 140.054 ms 137.994 ms 142.554 ms
15 linux.org (198.182.196.48) 137.538 ms 137.563 ms 139.401 ms
Spesso i nomi degli host e gli indirizzi IP sono utili nel determinare dove si verifica l’errore di routing. I salti errati sono contrassegnati con una linea da tre asterischi (es. * * *).

Il comando “mtr”, come il comando traceroute, fornisce informazioni sul traffico internet tra il sistema locale e il sistema remoto. Tuttavia il comando mtr fornisce anche informazioni addizionali sul tempo di viaggio di andata e di ritorno dei pacchetti In altre parole si può pensare al comando mtr come una combinazione dei comandi traceroute e ping.

Qui c’è un esempio di un report del comando mtr:

HOST: linug.org Loss% Snt Last Avg Best Wrst
1. 194.44.193.129 0.0% 15 0.4 0.4 0.3 0.6
2. Core320UbbV50.uar.net 0.0% 15 2.7 14.4 1.6 64.4
3. ae-62-62.ebr2.Frankfurt1.Level3.net 0.0% 15 33.0 30.2 22.8 33.0
4. ae-43-43.ebr2.Washington1.Level3.net 0.0% 15 112.6 112.2 111.3 115.6
5. ae-5-5.ebr2.Washington12.Level3.net 0.0% 15 110.5 110.7 109.9 111.7
6. ae-12-69.car2.NewYork1.Level3.net 0.0% 15 117.0 118.1 117.0 121.3
7. ALLSTREAM-I.car2.NewYork1.Level3.net 0.0% 15 117.2 117.7 116.9 118.8
8. router.invlogic.com 0.0% 15 139.0 142.9 138.3 151.2
9. linux.org 0.0% 15 136.6 139.0 136.3 152.6
Se utilizzato senza l’opzione –report, mtr traccia la velocità della connessione in tempo reale. Occorre sapere che il comando mtr si fermerà per pochi secondi prima di generare il report.