Log rotation di WHM tidak selalu menyentuh domlogs
/usr/local/apache/domlogs, dan pada server EasyApache 4 biasanya berupa symlink ke /etc/apache2/logs/domlogs.
Halaman cPanel Log Rotation Configuration di WHM umumnya mengatur log milik layanan cPanel sendiri, seperti log di /usr/local/cpanel/logs. Rotasi log sistem lainnya biasanya diurus logrotate lewat konfigurasi di /etc/logrotate.d. domlogs berbeda. Siklus hidupnya biasanya bergantung pada cpanellogd, bukan pada halaman rotasi tadi.
Jadi kalau kamu hanya mengecek halaman Log Rotation lalu menyimpulkan domlogs ikut aman, kesimpulannya melompat. Halaman itu bisa tampak sehat sementara domlogs sama sekali tidak tersentuh.
Peran cpanellogd dan kenapa domlogs bisa tertinggal
logs di home user dalam bentuk terkompresi, lalu file di domlogs dikosongkan. Perilaku persisnya mengikuti pengaturan di Tweak Settings.
Artinya, domlogs baru "ter-rotate" kalau stats run benar-benar selesai untuk domain itu. Di sinilah asumsi tadi gagal di server produksi:
- cpanellogd mati atau tidak berjalan, misalnya setelah update atau restart layanan yang tidak sempurna, sehingga stats run tidak pernah terjadi.
- Stats run berjalan tapi tidak selesai tepat waktu. Server yang menampung banyak domain dengan traffic tinggi, atau server yang I/O-nya sudah berat, bisa membuat pemrosesan satu putaran lebih lama dari interval yang diset. Antrean pemrosesan jadi tertinggal terus.
- Ada domain dengan log sangat besar, misalnya karena bot atau serangan brute force, yang membuat pemrosesannya lambat dan menahan domain lain di belakangnya.
- Domain atau akun sudah dihapus tapi file lognya masih tertinggal di domlogs, tergantung versi dan cara penghapusannya.
Cara memeriksa domlogs dan kondisi cpanellogd
BASH
# Ruang disk dan inode per partisi
df -h
df -i
# Total ukuran domlogs (gunakan -L agar symlink diikuti)
du -shL /usr/local/apache/domlogs
# 20 file terbesar di domlogs, termasuk subdirektori per user
find -L /usr/local/apache/domlogs -type f -printf '%s %p
' | sort -nr | head -20/usr/local/cpanel/logs/stats_log.
BASH
# Apakah proses cpanellogd ada
ps aux | grep '[c]panellogd'
# Aktivitas stats run terakhir
tail -n 100 /usr/local/cpanel/logs/stats_logKenapa disk tetap penuh setelah log dibersihkan
rm file-nya. Hati-hati di sini. Apache masih memegang file log yang aktif. Kalau file dihapus saat masih terbuka, ruang disknya tidak langsung kembali sampai proses yang memegangnya ditutup atau di-restart. Penjelasan lengkapnya ada di artikel Kenapa Disk Tetap Penuh Padahal File Log Sudah Dihapus.
Perlu diingat juga bahwa membersihkan domlogs secara manual sebelum stats run memprosesnya berarti data bandwidth dan statistik untuk periode itu ikut hilang. Kalau pelanggan bergantung pada angka tersebut, pertimbangkan dulu. Dalam kondisi darurat saat disk sudah penuh, mengosongkan isi file lebih aman dibanding menghapusnya, tapi lakukan dengan sadar bahwa data di dalamnya tidak bisa dikembalikan.
Setelah ruang kembali, perbaiki penyebabnya, bukan hanya gejalanya. Kalau cpanellogd mati, jalankan lagi lalu pantau stats_log sampai satu putaran penuh selesai. Kalau stats run terlalu lambat, cari domain yang lognya tidak wajar besar. Sering kali penyebabnya adalah traffic bot yang lebih tepat ditangani di level firewall atau aplikasi daripada sekadar dibiarkan masuk ke log.
Menjadikannya cek rutin, bukan reaksi saat disk penuh
- Catat ukuran domlogs secara berkala, misalnya mingguan, supaya kamu tahu angka normal servermu dan bisa melihat lonjakan lebih awal.
- Sesekali buka stats_log dan pastikan putaran terakhir selesai dalam rentang waktu yang wajar dibanding intervalnya.
- Jadikan statistik AWStats atau angka bandwidth yang berhenti bergerak sebagai pemicu untuk mengecek cpanellogd, bukan sekadar keluhan tampilan.
- Pasang alert ukuran partisi dan inode di sistem monitoring yang sudah kamu pakai, dengan ambang yang memberi cukup waktu untuk bertindak.
