Saat server berjalan stabil, masalah biasanya datang diam-diam. Salah satu yang paling sering saya temui adalah disk tiba-tiba penuh tanpa peringatan jelas. Awalnya saya kira karena Docker atau database. Namun, setelah dicek lebih dalam, penyebabnya justru file log yang terus membesar.
Karena itu, saya mulai fokus mengatur sistem log di server Ubuntu agar tetap rapi, terkendali, dan tidak membebani storage. Pengalaman ini cukup membuka mata, terutama untuk server yang aktif 24 jam.
Kenapa Log Server Bisa Jadi Masalah Besar?
Pada kondisi normal, log membantu proses troubleshooting. Namun, ketika layanan semakin banyak, log juga ikut bertambah. Selain itu, service seperti systemd, nginx, dan docker terus menulis log tanpa henti. Makanya perlu dilakukan optimasi log server. Jika tidak dilakukan, maka akibatnya disk bisa penuh secara perlahan. Bahkan, pada beberapa kasus, server tetap online tetapi service penting gagal restart karena kehabisan ruang.
Ciri-Ciri Disk Penuh karena Log
Sebelum saya benar-benar sadar, beberapa tanda ini mulai muncul:
- Server terasa lambat walaupun CPU normal
- Docker container gagal restart
- Error write failed pada service tertentu
- Folder
/var/logmembengkak drastis
Dari sini, saya langsung fokus mengecek ukuran log.
Cek Ukuran Log di Server Ubuntu
Langkah pertama selalu sederhana. Saya langsung jalankan perintah berikut:
du -sh /var/log/* | sort -h
Dari hasil ini, saya bisa langsung melihat log mana yang paling besar. Biasanya, log systemd dan journal menjadi biang masalah.

Mengenal Logrotate di Ubuntu
Untungnya, Ubuntu sudah menyediakan tool bawaan bernama logrotate. Tool ini bertugas memutar log secara otomatis agar file lama tidak terus membesar.
Namun, pada beberapa server, konfigurasi default sering kali kurang optimal. Karena itu, saya memilih untuk menyesuaikannya sendiri.
Cek Status Logrotate
Sebelum mengubah apa pun, saya pastikan logrotate aktif:
systemctl status logrotate
Jika service aktif, kita bisa lanjut ke tahap berikutnya tanpa khawatir.

Atur Logrotate agar Lebih Agresif
Saya mulai dengan membuka konfigurasi utama:
nano /etc/logrotate.conf
Kemudian, saya pastikan beberapa opsi ini aktif:
weekly
rotate 4
compress
delaycompress
missingok
notifempty
Dengan pengaturan ini, log akan diputar setiap minggu dan hanya menyimpan empat file terakhir.
Optimasi Log Systemd Journal
Selain logrotate, systemd journal juga perlu perhatian khusus. Tanpa batasan, ukurannya bisa membengkak dengan cepat.
Saya langsung edit konfigurasi berikut:
nano /etc/systemd/journald.conf
Lalu saya sesuaikan nilainya:
SystemMaxUse=200M
SystemKeepFree=500M
MaxRetentionSec=7day
Setelah itu, saya restart journald agar perubahan langsung aktif.
systemctl restart systemd-journald
Bersihkan Log Lama Secara Manual
Walaupun sudah diatur, log lama tetap perlu dibersihkan sekali di awal. Saya biasanya jalankan perintah ini:
journalctl --vacuum-time=7d
Dengan begitu, journal lama langsung terhapus tanpa menunggu rotasi berikutnya.
Hasil yang Saya Rasakan
Setelah optimasi ini berjalan, perubahan langsung terasa. Disk usage kembali normal, service lebih stabil, dan server terasa lebih ringan.
Selain itu, saya juga jadi lebih tenang karena risiko disk penuh bisa ditekan sejak awal.
Kesimpulan
Mengelola log server bukan pekerjaan sekali jalan. Namun, dengan konfigurasi yang tepat, masalah disk penuh bisa dicegah sejak awal.
Jika server kamu berjalan nonstop, optimasi log bukan lagi tambahan, melainkan kebutuhan dasar agar sistem tetap sehat.
