Anàlisi de logs
Un altre eina útil que ens ofereix systemd és journalctl, que ens permet analitzar els registres del sistema. Aquesta eina ens permet veure els registres del sistema en temps real, buscar registres específics, filtrar registres per unitat, i molt més.
Crearem un servei amb bash i awk que monitoritzi l'estat del sistema i registri la informació en un fitxer de registre. A continuació, utilitzarem journalctl per analitzar els registres del sistema i buscar la informació del servei.
- 
Crea un script de monitoratge: #!/bin/bash # Monitor the system state echo "Date: $(date)" echo "Load: $(uptime | awk '{print $10}')" echo "Memory: $(free -m | awk 'NR==2{print $3}')" echo "Disk: $(df -h / | awk 'NR==2{print $5}')" echo "Processes: $(ps aux | wc -l)"
- 
Crea un fitxer de servei system-monitor.service: En aquest cas, crearem un fitxer de serveisystem-monitor.servicea/etc/systemd/system/system-monitor.serviceamb el següent contingut:[Unit] Description=System Monitor Service [Service] Type=simple ExecStart=/usr/local/bin/system-monitor.sh [Install] WantedBy=multi-user.target
- 
Inicia el servei: Inicia el servei system-monitoramb la comandasystemctl start system-monitor.systemctl start system-monitor
- 
Comprova l'estat del servei: Comprova l'estat del servei system-monitoramb la comandasystemctl status system-monitor.systemctl status system-monitor Ups! Sembla que hi ha un error en el servei. Podem veure que el servei ha fallat a l'iniciar-se. La mateixa comanda ens indica la causa de l'error: Permission denied. Això significa que el script no té permisos d'execució. Per solucionar aquest problema, podem canviar els permisos del script perquè sigui executable amb la comandachmod +x /usr/local/bin/system-monitor.sh.systemctl restart system-monitor 
- 
Un altra forma d'accedir a la informació del servei és utilitzar la comanda journalctlamb l'opció-useguida del nom de la unitat. Per exemple, per veure els registres del serveisystem-monitor, podem utilitzar la comanda:journalctl -u system-monitorAquesta comanda ens mostrarà tots els registres associats amb el servei system-monitor, incloent els missatges de registre, les entrades de diari i altres informacions rellevants.👁️ Observació: Tot i que journalctlsembla que ens mostra la mateixa informació quesystemctl status,journalctlens permet accedir a tots els registres del sistema, no només als registres de les unitats. Això ens permet analitzar els registres del sistema de forma més detallada i buscar informació específica. A més, no sempre podem veure tota la informació d'una unitat ambsystemctl status, ja que aquesta comanda només ens mostra les dades més recents del registre del diari.
💡 Nota:
journalctlés una eina molt potent que ens permet analitzar els registres del sistema de forma detallada. Podeu utilitzar opcions com-fper veure els registres en temps real,-nper limitar el nombre de línies mostrades,-rper mostrar els registres en ordre invers,-pper filtrar els registres per prioritat, i moltes altres opcions. Podeu consultar el manual dejournalctlamb la comandaman journalctlper obtenir més informació sobre com utilitzar aquesta eina. Durant les vostres sessions administrant el sistema,journalctlserà una eina molt útil per analitzar els registres del sistema i poder identificar problemes o errors.