Per gestionar els logs, Linux utilitza dos conceptes principals per classificar la informació:
auth, cron, kern, mail). L’asterisc (*) s’utilitza per indicar totes les fonts.debug, info, notice, warning, err, crit, alert, emerg)..), estem indicant aquest nivell i tots els superiors..=), indiquem només aquell nivell específic.loggerLa comanda logger permet afegir entrades al log del sistema manualment des de la terminal.
Exemple:
logger -i -s -p mail.err "Missatge d'error"
-i: Afegeix el PID del procés.-s: Mostra el missatge també per la sortida d’error estàndard.
-p: Especifica la facility i la prioritat.
La majoria dels logs del sistema s’emmagatzemen a /var/log. Tot i que molts serveis escriuen al fitxer general syslog, alguns paquets instal·lats creen les seves pròpies carpetes per gestionar les seves dades de manera independent.
Si visualitzem el fitxer syslog, podem veure l’activitat general del sistema en temps real:
logrotate)Per evitar que els fitxers de log omplin tot el disc dur, el sistema utilitza logrotate. Aquesta eina:
.gz).syslog.1, syslog.2.gz).La configuració es troba a /etc/logrotate.d/.
Podem veure la configuració específica de rsyslog per entendre com gestiona els seus propis fitxers:
rsyslogAntigament, tota la configuració es trobava a /etc/rsyslog.conf. Actualment, a les distribucions basades en Ubuntu/Debian, la configuració de les regles per defecte es troba a:
/etc/rsyslog.d/50-default.conf
Per veure els canvis en directe mentre fem proves, executem en una terminal:
tail -f /var/log/syslog
Executem: logger -i -s -p kern.notice "Prova pau"
El resultat a la terminal de monitoratge serà:
Podem provar amb diferents serveis com el de correu:
Si modifiquem el fitxer de configuració per filtrar nivells específics (per exemple, usant o traient l’igual = a mail.err), el comportament del log canviarà, registrant només aquest nivell o tots els superiors.
Podem redirigir logs a fitxers propis afegint una línia al fitxer 50-default.conf. Per exemple, per enviar totes les alertes crítiques a un fitxer nou:
*crit -/var/log/pau.log
journalctlA més dels fitxers de text tradicionals, els sistemes moderns amb systemd utilitzen un log binari gestionat per journalctl. Això permet fer cerques molt més ràpides i filtrades.
Per exemple, per veure només els logs de correu:
journalctl --facility=mail
Per observar el rendiment del sistema utilitzem el Monitor del sistema d’Ubuntu, una eina gràfica que permet veure informació sobre els processos actius, el consum de recursos i l’estat dels sistemes de fitxers.
Aquesta eina és útil per supervisar el funcionament del sistema i detectar possibles problemes de rendiment.
En aquesta pestanya podem veure tots els processos que s’estan executant al sistema.
També mostra informació com el PID, l’usuari, el percentatge de CPU i la memòria utilitzada per cada procés.
En aquesta pestanya es mostren gràfiques del consum de recursos del sistema, com l’ús de CPU, memòria RAM, memòria swap i xarxa.
Això permet veure l’activitat del sistema en temps real.
En aquesta secció es mostra informació sobre els discos i particions del sistema, indicant l’espai utilitzat i l’espai disponible a cada sistema de fitxers.
Data: 03/03/26
Components:
Valle (Grup A)
Pau (Grup B)
En aquesta pràctica configurem un sistema de centralització de logs utilitzant rsyslog entre dues màquines Ubuntu dins la mateixa xarxa.
Imaginem que un profe vol visualitzar els logs dels alumnes. En aquesta pràctica simularem aquest escenari:
Un host actuarà com a servidor de logs (Profe) i l’altre com a client (Alumne) que enviarà els seus registres al servidor.
Primer de tot configurem la xarxa i preparem les màquines perquè es puguin comunicar correctament.
Configurem les adreces IP a cada màquina, ja sigui des de la configuració de xarxa d’Ubuntu o utilitzant eines de terminal com nmcli o netplan.
Comprovem que les IPs s’han aplicat correctament amb una comanda com:
ip a
Per evitar que el firewall bloquegi el tràfic de logs, desactivem ufw temporalment:
sudo ufw disable
Normalment rsyslog ja està instal·lat per defecte a Ubuntu, però per assegurar-nos-ho executem:
sudo apt update
sudo apt install rsyslog -y
Ara configurem la màquina que actuarà com a servidor de logs, és a dir, la que rebrà els registres dels altres hosts.
Editem el fitxer de configuració principal de rsyslog:
sudo nano /etc/rsyslog.conf
Busquem les següents línies i eliminem el comentari (#) per habilitar la recepció de logs via UDP:
module(load="imudp")
input(type="imudp" port="514")
Aquestes línies indiquen a rsyslog que escolti missatges entrants al port 514, que és el port estàndard per a syslog.
Si volguéssim utilitzar TCP, hauríem d’habilitar també el mòdul
imtcp.
Un cop guardada la configuració reiniciem el servei:
sudo systemctl restart rsyslog
Ara configurem la màquina client perquè envii tots els logs al servidor.
Editem el fitxer de configuració de regles per defecte:
sudo nano /etc/rsyslog.d/50-default.conf
Al final del fitxer afegim la següent línia:
*.* @192.168.1.10:514
Significat de la configuració:
*.* → enviem tots els logs de tots els serveis@ → enviament via UDP@@ → enviament via TCP192.168.1.10 → IP del servidor de logs514 → port de recepció del servidorDesprés de modificar la configuració reiniciem rsyslog:
sudo systemctl restart rsyslog
Finalment comprovem que el sistema de logs funciona correctament.
Deixem el servidor escoltant els logs en temps real:
tail -f /var/log/syslog
Enviem un missatge de prova amb la comanda logger:
logger "prova d’enviament de logs"
I tal com es veu a la captura, ho ha rebut correctament:
Amb aquesta configuració hem aconseguit implementar un sistema de centralització de logs utilitzant rsyslog.
Això permet que un servidor rebi i emmagatzemi els registres de múltiples màquines, facilitant:
Aquest tipus de configuració és molt utilitzada en infraestructures de sistemes i xarxes per tenir un control centralitzat de tots els esdeveniments del sistema.
Data: 09/03/26
Aquesta documentació explica com configurar un servidor local d’actualitzacions amb apt-mirror i Apache, i com configurar un client per obtenir paquets des d’aquest servidor.
Accedim com a root:
sudo su
Actualitzem els repositoris:
apt update
Instal·lem Apache2:
apt install apache2
Instal·lem apt-mirror:
apt install apt-mirror
apt-mirrorEditem la configuració:
nano /etc/apt/mirror.list
Executem la descàrrega dels paquets:
apt-mirror
Creem un softlink per servir els paquets amb Apache:
ln -s /var/spool/apt-mirror/mirror/dl.google.com/linux/chrome/deb /var/www/html/
Verifiquem que el softlink s’ha creat correctament:
Comprovem la IP del servidor (en aquest exemple 10.0.2.9):
Obrim el fitxer de repositoris del client:
nano /etc/apt/sources.list
Com que Google Chrome necessita signatura, la importem:
Fem un apt update per comprovar que el client obté els paquets del servidor local:
Instal·lem el paquet des del servidor:
apt install google-chrome-stable
I tal com es veu a la captura s’ha instal·lat correctament:
Ara repetiré el procés fet a classe amb un altre paquet, per exemple Opera.
apt-mirrorAccedim com a root:
sudo su
Editem la configuració:
nano /etc/apt/mirror.list
deb [arch=amd64] https://deb.opera.com/opera-stable/ stable non-free
Executem la descàrrega dels paquets:
apt-mirror
Creem un softlink per servir els paquets amb Apache:
ln -s /var/spool/apt-mirror/mirror/deb.opera.com/opera-stable /var/www/html/
Verifiquem que el softlink s’ha creat correctament:
Obrim el fitxer de repositoris del client. I afegim aquesta linea:
nano /etc/apt/sources.list
Fem un apt update per comprovar que el client obté els paquets del servidor local:
I tal com es veu a la captura s’ha instal·lat correctament: