Κεφάλαιο 8 · 8.4
Ανάγνωση logs με journalctl και docker logs
Όταν κάτι δεν λειτουργεί, η αιτία βρίσκεται σχεδόν πάντα σε ένα log. Στο Debian και στο Ubuntu τα περισσότερα μηνύματα καταγράφονται στο journal του systemd.
journalctl: τα σημαντικότερα commands
| Command | Τι βλέπετε; |
|---|---|
journalctl -u caddy | Όλα τα μηνύματα μίας υπηρεσίας, εδώ του Caddy |
journalctl -u ssh --since today | Όλες τις συνδέσεις SSH της σημερινής ημέρας |
journalctl -p err -b | Όλα τα σφάλματα από την τελευταία επανεκκίνηση |
journalctl -b -1 | Τι συνέβη πριν από την προηγούμενη επανεκκίνηση |
journalctl -f | Ζωντανή παρακολούθηση (τερματισμός με Ctrl+C) |
journalctl -e | Άμεση μετάβαση στο τέλος |
Προσθέστε μπροστά το sudo ή προσθέστε τον εαυτό σας στην ομάδα adm (sudo usermod -aG adm anna), ώστε να βλέπετε όλα τα μηνύματα.
Μια τυπική αναζήτηση όταν η ιστοσελίδα σας δεν λειτουργεί:
anna@web1:~$ systemctl status nginx
anna@web1:~$ sudo journalctl -u nginx -p err --since "1 hour ago"
anna@web1:~$ sudo tail -n 50 /var/log/nginx/error.log
Logs των containers
anna@web1:/srv/diensten$ sudo docker compose logs --tail 100 vaultwarden
anna@web1:/srv/diensten$ sudo docker compose logs -f caddy
Άλλα logs που χρειάζεστε συχνά
/var/log/nginx/: επισκέπτες και σφάλματα του nginx./var/log/fail2ban.log: ποιους έχει αποκλείσει το fail2ban./var/log/unattended-upgrades/: τι ενημερώθηκε αυτόματα./var/log/apt/history.log: ποια πακέτα εγκαταστάθηκαν και πότε.
Logs που καταλαμβάνουν πολύ χώρο
anna@web1:~$ journalctl --disk-usage
anna@web1:~$ sudo journalctl --vacuum-size=500M
Το journal καθαρίζει μόνο του, αλλά από προεπιλογή καταλαμβάνει έως και το 10 τοις εκατό του δίσκου σας (το πολύ 4 GB). Το μέγεθος των logs των containers το περιορίζετε όπως περιγράφεται στο Ενημέρωση containers, καθαρισμός και περιορισμός των logs.
