• Indonesian
  • English
  • Konfigurasi Atop Historical Monitoring Linux: Panduan

    Kecepatan:
    ⏱ 10 min read

    Ada satu hal yang bikin aku geregetan kalau lihat NOC junior yang cuma andalin top atau htop buat monitor server. Device-nya bagus, tapi datanya gak dicatat. Pas ada insiden jam 3 pagi, yang ada cuma “Maaf Pak, saya gak tau kenapa tiba-tiba load naik”. Done. Gak ada bukti, gak ada data historis, gak ada cara investigasi. Kalian gak mau kayak gini kan?

    Jadi gini, atop itu bukan sekadar tool monitoring biasa. Dia punya fitur keren yang sering dilupain: historical data recording. Artinya, dia bisa nyimpen data sistem setiap beberapa menit ke disk. Nah, data inilah yang bikin kamu bisa “warp back in time” ke jam berapa aja buat lihat apa yang terjadi di server. Powerful banget, dan sayangnya banyak sysadmin gak tau cara konfigurasinya. Oke, skip basa-basi, ini langkah-langkahnya.

    Difficulty: Intermediate
    Last Updated: Agustus 2026
    Tested On: Ubuntu 22.04/24.04 LTS, Debian 12, Rocky Linux 9, CentOS Stream 9, atop 2.10+

    Kenapa histori monitoring itu krusial? Bayangkan server production kamu tiba-tiba crash. Client marah, management minta penjelasan, dan kamu cuma bisa bilang “kayaknya karena CPU overload”. Tanpa data historis, kamu cuma tebak-tebakan. Dampaknya? Root cause analysis jadi mustahil, incident report jadi omong kosong, dan kepercayaan stakeholder turun. Common causes-nya bermacam-macam: memory leak yang pelan-pelan makan RAM, proses zombie yang gak keliatan di monitoring real-time, cron job yang waktu running-nya bentrok, atau bahkan serangan DDoS yang cuma muncul sebentar lalu hilang. Tanpa historical data, semua ini jadi misteri.

    Selain itu, banyak yang gak sadar kalau masalah performa server itu seringkali bukan dadakan. Biasanya ada pola yang muncul berulang — load spike tiap jam tertentu, memory usage yang naik pelan-pelan dari minggu ke minggu, atau disk I/O yang makin tinggi seiring waktu. Kalau kamu cuma monitor real-time, pola-pola ini gak akan keliatan. Kamu butuh data historis buat bisa lihat tren, prediksi masalah sebelum jadi besar, dan bikin keputusan capacity planning yang tepat. Atop dengan historical recording-nya solves exactly this problem.

    Step 1: Install Atop di Server

    Sebelum konfigurasi apapun, pastikan atop udah terinstall. Di sebagian besar distro, ini gampang banget:

    # Debian/Ubuntu
    sudo apt update && sudo apt install atop -y
    
    # RHEL/Rocky/CentOS
    sudo dnf install atop -y
    
    # Arch Linux
    sudo pacman -S atop

    Setelah install, verifikasi versinya:

    atop -v
    # Output: atop version 2.10.0

    Di Ubuntu/Debian, saat kamu install atop, sistem biasanya langsung setup systemd service-nya. Tapi di beberapa distro, kamu perlu setup manual. Cek dulu:

    systemctl status atop-rotate.service
    systemctl status atop.service

    Kalau service-nya udah ada, bagus. Lanjut ke konfigurasi. Kalau belum, tenang, kita setup sendiri kok.

    verifikasi instalasi atop di linux terminal

    Step 2: Setup Systemd Service untuk Atop Recording

    Nah ini bagian yang sering bikin bingung. Atop punya dua mode: mode real-time (yang kamu lihat saat ketik atop) dan mode recording (yang jalan di background nyimpen data ke disk). Yang kita mau itu yang kedua.

    Di systemd-based distro, buat file service-nya:

    sudo nano /etc/systemd/system/atop.service

    Isi filenya kayak gini:

    [Unit]
    Description=Atop system monitor recording
    After=local-fs.target
    
    [Service]
    Type=simple
    ExecStart=/usr/bin/atop -a 120 600
    Restart=on-failure
    RestartSec=10
    
    [Install]
    WantedBy=multi-user.target

    Penjelasan singkat parameter-nya:

    • -a — mode adaptive, cuma nyimpen data yang berubah (hemat disk)
    • 120 — interval recording setiap 120 detik (2 menit)
    • 600 — durasi TOTAL recording dalam detik, setelah itu rotate. Di sini 600 = 10 menit, tapi kita akan pakai systemd timer buat repeat.

    Langsung aja, enable dan start service-nya:

    sudo systemctl daemon-reload
    sudo systemctl enable atop.service
    sudo systemctl start atop.service
    sudo systemctl status atop.service

    Pastikan status-nya active (running). Kalau ada error, cek log-nya:

    sudo journalctl -u atop.service -f

    Step 3: Konfigurasi Systemd Timer buat Continuous Recording

    Jadi gini, cara paling robust buat continuous recording adalah pakai systemd timer. Timer ini bakal jalan ulang service atop secara berkala.

    Buat timer file:

    sudo nano /etc/systemd/system/atop-rotate.timer
    [Unit]
    Description=Atop recording rotation timer
    
    [Timer]
    OnBootSec=5min
    OnUnitActiveSec=10min
    Persistent=true
    
    [Install]
    WantedBy=timers.target

    Terus buat juga service file-nya (kalau belum ada):

    sudo nano /etc/systemd/system/atop-rotate.service
    [Unit]
    Description=Rotate atop recordings
    After=network.target
    
    [Service]
    Type=oneshot
    ExecStart=/usr/libexec/atop/atop-rotate
    ExecStartPost=/bin/systemctl restart atop.timer
    
    [Install]
    WantedBy=multi-user.target

    Enable timer-nya:

    sudo systemctl daemon-reload
    sudo systemctl enable atop-rotate.timer
    sudo systemctl start atop-rotate.timer
    sudo systemctl list-timers --all | grep atop

    Kamu harusnya lihat timer atop-rotate.timer yang active. Setiap 10 menit, dia bakal rotate file recording atop. Data-nya bakal tersimpan di /var/log/atop/ dengan nama format atop_YYYYMMDD.

    Step 4: Atur Path Penyimpanan Data

    Secara default, atop simpen data di /var/log/atop/. Tapi kalau disk /var/log kamu udah penuh atau kamu mau simpen di tempat lain, kamu bisa ganti.

    Editing environment file untuk atop:

    sudo nano /etc/default/atop

    Atau kalau distro kamu pakai file yang berbeda, cek dulu:

    # Debian/Ubuntu
    ls /etc/default/atop
    
    # RHEL/Rocky
    ls /etc/sysconfig/atop

    Tambahkan atau modifikasi baris berikut:

    LOGPATH=/data/atop-logs
    LOGINTERVAL=120
    LOGGENERATIONS=28

    Penjelasan:

    • LOGPATH — lokasi penyimpanan. Pastikan direktori ini ada dan atop punya permission untuk write
    • LOGINTERVAL — interval recording dalam detik. 120 = 2 menit. Makin kecil, makin detail tapi makin besar disk usage
    • LOGGENERATIONS — berapa hari data disimpan sebelum dihapus. 28 = 4 minggu.

    Jangan lupa buat direktorinya kalau pakai custom path:

    sudo mkdir -p /data/atop-logs
    sudo chown root:root /data/atop-logs
    sudo chmod 755 /data/atop-logs

    Restart service setelah perubahan:

    sudo systemctl restart atop.service
    sudo systemctl restart atop-rotate.timer

    Step 5: Setup Cron untuk Cleanup Otomatis

    Walaupun LOGGENERATIONS udah handle cleanup, kadang kamu butuh kontrol lebih lanjut — misalnya mau hapus file yang lebih tua dari 14 hari karena disk space terbatas. Tambahin cron job:

    sudo crontab -e

    Tambahkan baris ini:

    # Cleanup atop logs older than 14 days
    every day at 2:30 AM
    30 2 * * * find /var/log/atop/ -name "atop_*" -type f -mtime +14 -delete
    # Optional: log cleanup action
    30 2 * * * echo "$(date): Cleaned old atop logs" >> /var/log/atop-cleanup.log

    Praktikal banget kan? Sekarang disk usage-nya gak akan meledak karena log atop yang numpuk.

    Step 6: Analisis Data Historical dengan Atop Replay

    Ini bagian paling seru. Setelah data terkumpul, kamu bisa analisis menggunakan mode atop -r (replay mode). Command-nya:

    # Replay data hari ini
    sudo atop -r
    
    # Replay data tanggal tertentu
    sudo atop -r /var/log/atop/atop_20260815
    
    # Replay dan langsung loncat ke jam tertentu
    sudo atop -r /var/log/atop/atop_20260815 -b 14:30
    
    # Replay dengan durasi tertentu (dari jam 14:30 sampai 15:00)
    sudo atop -r /var/log/atop/atop_20260815 -b 14:30 -e 15:00

    Di dalam mode replay, kamu bisa navigate pakai tombol-tombol ini:

    Tombol Fungsi
    t Next timestamp (forward 1 interval)
    T Previous timestamp (backward 1 interval)
    b Jump ke timestamp tertentu
    g Jump ke timestamp tertentu (dengan durasi)
    s Sort by specific field
    P Tampilkan per-process view
    D Tampilkan disk/DASD view
    N Tampilkan NIC (network) view
    C Tampilkan command-line per process
    m Tampilkan memory details per process

    Contoh use case: kamu mau tau kenapa jam 14:30 kemarin server load naik. Cukup jalankan:

    sudo atop -r /var/log/atop/atop_20260815 -b 14:25
    # Lalu tekan 't' beberapa kali buat advance per 2 menit
    # Tekan 'P' buat lihat per-process, sort by CPU

    Gila sih, dari sini kamu langsung bisa lihat proses mana yang bikin spike, berapa CPU/RAM yang dipake, kapan mulai naik, dan kapan turun lagi. Full visibility.

    atop replay mode analisis data historical di linux

    Step 7: Export Data untuk Comparison dengan sar/sysstat

    Kalau kamu juga pakai sysstat/sar sebagai monitoring layer kedua, atop bisa jadi complement yang bagus. Tapi untuk keperluan reporting ke management, kadang kamu butuh data yang lebih presentable.

    Pakai flag -P di atop buat export ke file CSV yang bisa dibuka di spreadsheet:

    # Export system summary ke file
    top -r /var/log/atop/atop_20260815 -P | head -50 > /tmp/atop-report.csv

    Atau kalau mau lebih detail, pakai script sederhana buat parse log atop ke format yang lebih readable. Banyak referensi script-nya di GitHub — tinggal cari “atop parse script”.

    Troubleshooting: Masalah Umum Konfigurasi Atop

    Masalah Penyebab Solusi
    Data gak tersimpan Permission / path salah Cek ls -la /var/log/atop/, pastikan atop punya write permission
    Disk space cepat penuh Interval terlalu kecil Naikkan LOGINTERVAL ke 300 atau 600 detik
    Service atop gak jalan Systemd conflict Cek systemctl status atop, pastikan gak ada error di journal
    Replay mode blank File corrupt atau kosong Cek ukuran file: ls -lh /var/log/atop/atop_*. File < 1KB kemungkinan corrupt
    Timestamp di replay salah Timezone issue Pastikan timezone server konsisten: timedatectl
    Cron cleanup gak jalan Pattern nama file salah Pastikan pattern atop_* sesuai format nama file aktual

    Nah, perhatiin juga soal disk space. Kalau server kamu cuma punya 20GB free disk, jangan set interval 10 detik. Atau malah bisa bikin disk penuh. Intinya, sesuaikan interval sama available disk space. Yang aman: interval 120-300 detik, retention 14-28 hari.

    Warning: Jangan jalankan dua instance atop secara bersamaan (mode real-time DAN recording) di terminal yang sama. Bisa conflict. Mode recording sebaiknya jalan via systemd service, sementara mode real-time hanya kamu pakai saat butuh check manual.

    Best Practice: Kombinasi Atop + Monitoring Stack

    Atop historical recording itu powerful, tapi bukan satu-satunya tool yang harus kamu pakai. Best practice yang aku terapkan di beberapa server yang aku handle:

    1. Atop — untuk deep-dive historical analysis (siapa proses yang bikin masalah)
    2. Netdata atau Prometheus + Grafana — untuk real-time monitoring dan alerting
    3. sysstat/sar — untuk trend analysis jangka panjang
    4. journalctl + rsyslog — untuk log analysis

    Kombinasi keempat ini bakal bikin kamu punya visibility penuh dari real-time sampai historical. Kalau ada alert dari Netdata bahwa CPU spike, kamu bisa langsung “warp” ke timestamp yang tepat di atop buat investigate.

    Cek juga artikel lain terkait: Monitoring Linux Performance dengan Netdata, Setup Prometheus + Grafana untuk Server Monitoring, dan Panduan Lengkap sysstat/sar untuk Performance Analysis.

    Q: Seberapa sering atop harus record data ke disk?

    Interval 120 detik (2 menit) itu sweet spot untuk kebanyakan server. Kalau kamu butuh detail lebih (misalnya untuk debug intermittent issue), bisa turunkan ke 60 detik. Tapi ingat: makin kecil interval, makin besar disk usage. Untuk server dengan disk terbatas, 300 detik (5 menit) masih oke buat general monitoring.

    Q: Berapa disk space yang dibutuhkan untuk atop historical?

    Tergantung interval dan jumlah proses. Rule of thumb: untuk server standar (50-100 proses), dengan interval 120 detik, setiap hari atop menghasilkan sekitar 5-15MB data. Untuk 28 hari retention, siapin sekitar 150-400MB. Kalau server heavy load dengan ratusan proses, bisa lebih. Selalu monitor disk usage-nya juga.

    Q: Bisakah saya bandingkan data dari dua tanggal berbeda?

    Bisa! Jalankan dua terminal, satu replay tanggal A, satu replay tanggal B. Atau gunakan tool pihak ketiga yang bisa parse atop log ke format yang bisa di-compare side-by-side. Beberapa sysadmin juga menulis custom Python script buat parse dan generate comparison report dari file atop log.

    Q: Apakah atop aman dipasang di production server?

    Sangat aman. Atop itu lightweight — overhead CPU-nya di bawah 1% dalam mode recording. Dia cuma nyimpen data per interval tertentu, bukan real-time continuous. Banyak production server besar (termasuk yang handle ribuan user) pakai atop tanpa masalah. Yang penting, konfigurasi interval dan path-nya bener.

    Q: Bagaimana cara cek apakah atop recording sudah aktif?

    Gampang. Cek service: systemctl status atop.service. Pastikan status-nya active (running). Terus cek direktori log: ls -la /var/log/atop/. Harusnya ada file dengan format atop_YYYYMMDD yang ukurannya terus bertambah. Kalau file gak ada atau size-nya tetap 0, ada masalah di konfigurasi.

    Author: Syslog Solutions — NOC & Server Management Team. We handle 500+ servers daily, from shared hosting to enterprise dedicated infrastructure.

    Oke, itu dia langkah-langkah konfigurasi atop buat historical monitoring di Linux. Gampang kok, yang penting diikuti urutannya. Yuk langsung praktekin step di atas di server kamu. Nek masih ada yang bingung, cek log output-nya dan bandingkan sama error yang aku sebut di tabel troubleshooting. Done, sekarang server kamu udah punya “time machine” buat investigate apapun yang terjadi. Semangat ya!