ABDURROZAK.MY.ID // DEBIAN LINUX SERVER FUNDAMENTAL
LOG &MONITORING
Volume 10 dari seri Debian Linux Server Fundamental. Panduan komprehensif monitoring dan analisis sistem Linux. Setiap command dijelaskan detail dengan syntax, parameter, contoh penggunaan, dan output. Dari system log hingga analisis masalah server.
VOLUME10 / 17
SUB-BAB8
BACA75 MENIT
MONITORING100%
ABDUR ROZAK, S.Kom.
Web Developer & System Administrator - abdurrozak.my.id
VOLUME 10 / 17
MONITORING DAN ANALISIS SISTEM
Panduan lengkap Log & Monitoring di Debian Linux. 8 sub-bab mencakup system log, journalctl, log service, monitoring CPU, monitoring RAM, monitoring disk, df dan du, hingga analisis masalah server. Setiap command disertai penjelasan detail dan contoh praktis.
SUB-BAB8LEVELMonitoringWAKTU75 MENIT
01
SUB-BAB 01 SYSTEM LOG
SYSTEM LOG
Apa Itu System Log?
System log adalah file yang mencatat semua aktivitas sistem, termasuk pesan dari kernel, service, dan aplikasi. Log sangat penting untuk troubleshooting, auditing, dan monitoring sistem.
# Lihat isi log fileadmin@server:~$ cat /var/log/syslog# Lihat 100 baris terakhiradmin@server:~$ tail -n 100 /var/log/syslog# Lihat log secara real-timeadmin@server:~$ tail -f /var/log/syslog# Cari pattern di logadmin@server:~$ grep "error" /var/log/syslog# Cari pattern dengan contextadmin@server:~$ grep -C 5 "error" /var/log/syslog# -C 5 = 5 baris sebelum dan sesudah match# Cari multiple patternsadmin@server:~$ grep -E "error|warning|critical" /var/log/syslog# Lihat log dengan less (bisa scroll)admin@server:~$ less /var/log/syslog# Tekan / untuk search, q untuk quit# Lihat log dengan moreadmin@server:~$ more /var/log/syslog# Lihat log dengan head (10 baris pertama)admin@server:~$ head /var/log/syslog# Lihat log dengan head (20 baris pertama)admin@server:~$ head -n 20 /var/log/syslog
Log Rotation
bash
# Log rotation dikonfigurasi di /etc/logrotate.confadmin@server:~$ cat /etc/logrotate.conf# Konfigurasi log rotation per serviceadmin@server:~$ ls /etc/logrotate.d/apt dpkg nginx ssh syslog# Lihat konfigurasi log rotation untuk syslogadmin@server:~$ cat /etc/logrotate.d/syslog/var/log/syslog { rotate 7 daily missingok notifempty delaycompress compress postrotate /usr/lib/rsyslog/rsyslog-rotate endscript}# Jalankan log rotation manualadmin@server:~$ sudo logrotate /etc/logrotate.conf# Jalankan log rotation untuk service tertentuadmin@server:~$ sudo logrotate /etc/logrotate.d/syslog
TIPS: Log rotation penting untuk mencegah log file menjadi terlalu besar. Default konfigurasi biasanya sudah cukup baik, tapi bisa disesuaikan sesuai kebutuhan.
KOMPETENSI SUB-BAB 01
Memahami lokasi log files
Mampu melihat log dengan cat, tail, head, less, more
Mampu mencari pattern di log dengan grep
Memahami konsep log rotation
02
SUB-BAB 02 JOURNALCTL
journalctl
Apa Itu journalctl?
journalctl adalah command untuk query dan menampilkan log dari systemd journal. systemd journal menyimpan log dalam format binary yang terstruktur, lebih efisien dan mudah untuk di-query dibanding log file tradisional.
Basic journalctl Commands
bash
# Lihat semua logadmin@server:~$ journalctl# Lihat log dengan pager (less)admin@server:~$ journalctl --no-pager# Lihat 100 log terakhiradmin@server:~$ journalctl -n 100# Lihat log secara real-time (follow)admin@server:~$ journalctl -f# Lihat log sejak boot terakhiradmin@server:~$ journalctl -b# Lihat log sejak boot tertentuadmin@server:~$ journalctl -b -1# -1 = boot sebelumnya, -2 = 2 boot sebelumnya, dst# Lihat log sejak waktu tertentuadmin@server:~$ journalctl --since "2026-09-07 10:00:00"# Lihat log hingga waktu tertentuadmin@server:~$ journalctl --until "2026-09-07 11:00:00"# Lihat log dalam range waktuadmin@server:~$ journalctl --since "2026-09-07 10:00:00" --until "2026-09-07 11:00:00"# Lihat log sejak 1 jam yang laluadmin@server:~$ journalctl --since "1 hour ago"# Lihat log sejak hari iniadmin@server:~$ journalctl --since today# Lihat log sejak kemarinadmin@server:~$ journalctl --since yesterday
Filter journalctl
bash
# Lihat log untuk service tertentuadmin@server:~$ journalctl -u ssh# Lihat log untuk multiple servicesadmin@server:~$ journalctl -u ssh -u nginx# Lihat log untuk unit tertentuadmin@server:~$ journalctl -u ssh.service# Lihat log dengan priority tertentuadmin@server:~$ journalctl -p err# Priority: emerg, alert, crit, err, warning, notice, info, debug# Lihat log dengan priority tertentu atau lebih tinggiadmin@server:~$ journalctl -p err..emerg# Lihat log untuk kerneladmin@server:~$ journalctl -k# -k = kernel log (sama dengan journalctl -u kernel)# Lihat log untuk user tertentuadmin@server:~$ journalctl _UID=1000# Lihat log dengan pattern tertentuadmin@server:~$ journalctl | grep "error"# Lihat log dengan multiple patternsadmin@server:~$ journalctl | grep -E "error|warning|critical"# Lihat log dengan output format tertentuadmin@server:~$ journalctl -o short# Output format: short, short-iso, short-precise, short-monotonic, verbose, json, json-pretty, json-sse, json-seq, cat, with-unit
Manage Journal
bash
# Lihat ukuran journaladmin@server:~$ journalctl --disk-usageArchived and active journals take up 123.4M in the file system.# Hapus journal lama (keep 1 week)admin@server:~$ sudo journalctl --vacuum-time=1week# Hapus journal lama (keep 500MB)admin@server:~$ sudo journalctl --vacuum-size=500M# Hapus journal lama (keep 2 files)admin@server:~$ sudo journalctl --vacuum-files=2# Flush journal ke diskadmin@server:~$ sudo journalctl --flush# Rotate journaladmin@server:~$ sudo journalctl --rotate# Lihat konfigurasi journaladmin@server:~$ cat /etc/systemd/journald.conf
TIPS: Gunakan journalctl -f untuk monitoring real-time saat troubleshooting. Gunakan journalctl -u service-name untuk melihat log service tertentu.
KOMPETENSI SUB-BAB 02
Mampu menggunakan journalctl untuk melihat log
Mampu filter log berdasarkan waktu, service, priority
Mampu manage journal (vacuum, flush, rotate)
Memahami output format journalctl
03
SUB-BAB 03 LOG SERVICE
LOG SERVICE
Melihat Log Service
bash
# Lihat log service dengan journalctladmin@server:~$ journalctl -u ssh# Lihat log service dengan journalctl (real-time)admin@server:~$ journalctl -u ssh -f# Lihat log service dengan journalctl (since boot)admin@server:~$ journalctl -u ssh -b# Lihat log service dengan journalctl (since time)admin@server:~$ journalctl -u ssh --since "2026-09-07 10:00:00"# Lihat log service dengan journalctl (priority)admin@server:~$ journalctl -u ssh -p err# Lihat log service dari file log tradisionaladmin@server:~$ tail -f /var/log/auth.log# Untuk SSHadmin@server:~$ tail -f /var/log/nginx/access.log# Untuk Nginx access logadmin@server:~$ tail -f /var/log/nginx/error.log# Untuk Nginx error logadmin@server:~$ tail -f /var/log/syslog# Untuk system log umum
Filter Log Service
bash
# Cari error di log serviceadmin@server:~$ journalctl -u ssh | grep -i error# Cari failed di log serviceadmin@server:~$ journalctl -u ssh | grep -i failed# Cari multiple patternsadmin@server:~$ journalctl -u ssh | grep -E "error|failed|critical"# Lihat log service dengan contextadmin@server:~$ journalctl -u ssh | grep -C 5 "error"# Lihat log service dengan output format tertentuadmin@server:~$ journalctl -u ssh -o short-iso# Lihat log service dengan output verboseadmin@server:~$ journalctl -u ssh -o verbose
List Service Logs
bash
# Lihat semua service yang punya logadmin@server:~$ journalctl --field=_SYSTEMD_UNIT | sort -u# Lihat semua service yang aktifadmin@server:~$ systemctl list-units --type=service --state=active# Lihat semua service yang failedadmin@server:~$ systemctl list-units --type=service --state=failed# Lihat status service tertentuadmin@server:~$ systemctl status ssh# Lihat status service tertentu (no pager)admin@server:~$ systemctl status ssh --no-pager
TIPS: Gunakan journalctl -u service-name -f untuk monitoring real-time service. Gunakan journalctl -u service-name -p err untuk melihat hanya error.
KOMPETENSI SUB-BAB 03
Mampu melihat log service dengan journalctl
Mampu filter log service berdasarkan pattern
Mampu list service yang punya log
Mampu melihat status service
04
SUB-BAB 04 CPU
MONITORING CPU
top - Process Monitor
bash
# Jalankan topadmin@server:~$ toptop - 10:30:15 up 5 days, 3:15, 1 user, load average: 0.08, 0.03, 0.01Tasks: 120 total, 1 running, 119 sleeping, 0 stopped, 0 zombie%Cpu(s): 2.3 us, 1.0 sy, 0.0 ni, 96.5 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 stMiB Mem : 1987.2 total, 1456.8 free, 220.4 used, 310.0 buff/cacheMiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 1650.4 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1234 admin 20 0 72340 5640 4560 S 0.3 0.3 0:00.45 sshd 1235 admin 20 0 21568 3456 2800 S 0.0 0.2 0:00.12 bash 1236 admin 20 0 38120 3200 2800 R 0.3 0.2 0:00.08 top# Command dalam top:# q - quit# h - help# k - kill process# r - renice process# M - sort by memory# P - sort by CPU# T - sort by time# u - filter by user# H - toggle threads# 1 - toggle CPU cores# top dengan update intervaladmin@server:~$ top -d 5# top untuk user tertentuadmin@server:~$ top -u admin# top dengan PID tertentuadmin@server:~$ top -p 1234# top batch modeadmin@server:~$ top -b -n 1
htop - Enhanced Process Monitor
bash
# Install htopadmin@server:~$ sudo apt install htop# Jalankan htopadmin@server:~$ htop# Command dalam htop:# F1/h - help# F2/S - setup# F3// - search# F4/\ - filter# F5/t - tree view# F6 - sort by# F9/k - kill# F10/q - quit# I - invert sort# M - sort by memory# P - sort by CPU# T - sort by time# H - toggle threads# u - filter by user# htop dengan user tertentuadmin@server:~$ htop -u admin# htop dengan delayadmin@server:~$ htop -d 5# htop tanpa headeradmin@server:~$ htop --no-header
mpstat - CPU Statistics
bash
# Install sysstatadmin@server:~$ sudo apt install sysstat# Lihat CPU statisticsadmin@server:~$ mpstatLinux 6.1.0-18-amd64 (server) 09/07/2026 _x86_64_ (4 CPU)10:30:15 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle10:30:15 all 2.30 0.00 1.00 0.20 0.00 0.00 0.00 0.00 0.00 96.50# Lihat CPU statistics per CPUadmin@server:~$ mpstat -P ALL# Lihat CPU statistics dengan intervaladmin@server:~$ mpstat 1 5# Update setiap 1 detik, 5 kali# Lihat CPU statistics per CPU dengan intervaladmin@server:~$ mpstat -P ALL 1 5
sar - System Activity Reporter
bash
# Lihat CPU usageadmin@server:~$ sar -u 1 5Linux 6.1.0-18-amd64 (server) 09/07/2026 _x86_64_ (4 CPU)10:30:15 CPU %user %nice %system %iowait %steal %idle10:30:16 all 2.30 0.00 1.00 0.20 0.00 96.5010:30:17 all 1.50 0.00 0.75 0.10 0.00 97.75# Lihat CPU usage per CPUadmin@server:~$ sar -P ALL 1 5# Lihat memory usageadmin@server:~$ sar -r 1 5# Lihat swap usageadmin@server:~$ sar -S 1 5# Lihat disk I/Oadmin@server:~$ sar -d 1 5# Lihat network statisticsadmin@server:~$ sar -n DEV 1 5# Lihat semua statisticsadmin@server:~$ sar -A 1 5
TIPS: Gunakan htop untuk monitoring interaktif. Gunakan sar untuk monitoring historis. Gunakan mpstat untuk CPU statistics detail.
KOMPETENSI SUB-BAB 04
Mampu monitor CPU dengan top
Mampu monitor CPU dengan htop
Mampu monitor CPU dengan mpstat
Mampu monitor CPU dengan sar
05
SUB-BAB 05 RAM
MONITORING RAM
free - Memory Usage
bash
# Lihat memory usageadmin@server:~$ free total used free shared buff/cache availableMem: 1987 220 1456 34 310 1650Swap: 2048 0 2048# Lihat memory usage dalam human-readable formatadmin@server:~$ free -h total used free shared buff/cache availableMem: 1.9Gi 220Mi 1.4Gi 34Mi 310Mi 1.6GiSwap: 2.0Gi 0B 2.0Gi# Lihat memory usage dalam megabytesadmin@server:~$ free -m total used free shared buff/cache availableMem: 1987 220 1456 34 310 1650Swap: 2048 0 2048# Lihat memory usage dalam gigabytesadmin@server:~$ free -g total used free shared buff/cache availableMem: 1 0 1 0 0 1Swap: 2 0 2# Lihat memory usage dengan intervaladmin@server:~$ free -h -s 5# Update setiap 5 detik# Lihat memory usage dengan countadmin@server:~$ free -h -c 5# Tampilkan 5 kali
vmstat - Virtual Memory Statistics
bash
# Lihat virtual memory statisticsadmin@server:~$ vmstatprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 1490176 34560 310000 0 0 10 20 100 200 2 1 97 0 0# Lihat virtual memory statistics dengan intervaladmin@server:~$ vmstat 1 5# Update setiap 1 detik, 5 kali# Lihat virtual memory statistics dengan delayadmin@server:~$ vmstat -s 2034688 K total memory 220400 K used memory 310000 K active memory 1490176 K inactive memory 345600 K free memory 34560 K buffer memory 310000 K swap cache 2097148 K total swap 0 K used swap 2097148 K free swap# Lihat virtual memory statistics dengan timestampadmin@server:~$ vmstat -t 1 5
TIPS: Gunakan free -h untuk quick check memory usage. Gunakan vmstat untuk detail virtual memory statistics. Gunakan sar -r untuk historical memory usage.
KOMPETENSI SUB-BAB 05
Mampu monitor RAM dengan free
Mampu monitor RAM dengan vmstat
Mampu monitor RAM dengan sar
Memahami perbedaan free, vmstat, dan sar
06
SUB-BAB 06 DISK
MONITORING DISK
lsblk - List Block Devices
bash
# Lihat block devicesadmin@server:~$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 50G 0 disk├─sda1 8:1 0 512M 0 part /boot/efi├─sda2 8:2 0 48.5G 0 part /└─sda3 8:3 0 1G 0 part [SWAP]sr0 11:0 1 1024M 0 rom# Lihat block devices dengan detailadmin@server:~$ lsblk -fNAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTsda├─sda1 vfat FAT32 ABCD-1234 506M 1% /boot/efi├─sda2 ext4 1.0 12345678-1234-1234-1234-123456789012 43G 15% /└─sda3 swap 1 87654321-4321-4321-4321-210987654321 [SWAP]sr0# Lihat block devices dengan output format tertentuadmin@server:~$ lsblk -o NAME,SIZE,TYPE,MOUNTPOINT# Lihat block devices dengan tree viewadmin@server:~$ lsblk -t# Lihat block devices dengan bytesadmin@server:~$ lsblk -b# Lihat block devices dengan bytes dan detailadmin@server:~$ lsblk -b -f
fdisk - Disk Partitioner
bash
# Lihat disk partitionsadmin@server:~$ sudo fdisk -lDisk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 sectorsDisk model: VBOX HARDDISKUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisklabel type: gptDisk identifier: 12345678-1234-1234-1234-123456789012Device Start End Sectors Size Type/dev/sda1 2048 1050623 1048576 512M EFI System/dev/sda2 1050624 102760447 101709824 48.5G Linux filesystem/dev/sda3 102760448 104857566 2097119 1G Linux swap# Lihat disk partitions untuk disk tertentuadmin@server:~$ sudo fdisk -l /dev/sda
parted - Partition Editor
bash
# Lihat disk partitionsadmin@server:~$ sudo parted -lModel: ATA VBOX HARDDISK (scsi)Disk /dev/sda: 53.7GBSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags:Number Start End Size File system Name Flags 1 1049kB 538MB 537MB fat32 boot, esp 2 538MB 52.6GB 52.1GB ext4 3 52.6GB 53.7GB 1074MB linux-swap(v1) swap# Lihat disk partitions untuk disk tertentuadmin@server:~$ sudo parted /dev/sda print
hdparm - Hard Disk Parameters
bash
# Lihat hard disk parametersadmin@server:~$ sudo hdparm -I /dev/sda/dev/sda:ATA device, with non-removable media Model Number: VBOX HARDDISK Serial Number: VB12345678-12345678 Firmware Revision: 1.0 Transport: Serial, ATA8-AST, SATA Rev 2.6Configuration: Logical max current cylinders 16383 16383 heads 16 16 sectors/track 63 63 -- CHS current addressable sectors: 16514064 LBA user addressable sectors: 104857600 device size with M = 1024*1024: 51200 MBytes device size with M = 1000*1000: 53687 MBytes (53 GB)# Lihat hard disk performanceadmin@server:~$ sudo hdparm -t /dev/sda/dev/sda: Timing buffered disk reads: 1536 MB in 3.01 seconds = 510.30 MB/sec
TIPS: Gunakan lsblk untuk quick check disk layout. Gunakan fdisk -l untuk detail partition table. Gunakan parted untuk partition management. Gunakan hdparm untuk disk information dan performance test.
KOMPETENSI SUB-BAB 06
Mampu monitor disk dengan lsblk
Mampu monitor disk dengan fdisk
Mampu monitor disk dengan parted
Mampu monitor disk dengan hdparm
07
SUB-BAB 07 DF & DU
df dan du
df - Disk Free
bash
# Lihat disk space usageadmin@server:~$ dfFilesystem 1K-blocks Used Available Use% Mounted on/dev/sda2 51475068 7890124 40938764 17% //dev/sda1 523248 5678 517570 2% /boot/efi# Lihat disk space usage dalam human-readable formatadmin@server:~$ df -hFilesystem Size Used Avail Use% Mounted on/dev/sda2 49G 7.5G 39G 17% //dev/sda1 511M 5.5M 506M 2% /boot/efi# Lihat disk space usage dalam human-readable format (all filesystems)admin@server:~$ df -haFilesystem Size Used Avail Use% Mounted onsysfs 0 0 0 - /sysproc 0 0 0 - /procudev 985M 0 985M 0% /devdevtmpfs 985M 0 985M 0% /devdevpts 0 0 0 - /dev/pts/dev/sda2 49G 7.5G 39G 17% //dev/sda1 511M 5.5M 506M 2% /boot/efi# Lihat disk space usage untuk filesystem tertentuadmin@server:~$ df -h /Filesystem Size Used Avail Use% Mounted on/dev/sda2 49G 7.5G 39G 17% /# Lihat disk space usage dengan inodeadmin@server:~$ df -iFilesystem Inodes IUsed IFree IUse% Mounted on/dev/sda2 3276800 234567 3042233 8% //dev/sda1 0 0 0 - /boot/efi# Lihat disk space usage dengan typeadmin@server:~$ df -TFilesystem Type 1K-blocks Used Available Use% Mounted on/dev/sda2 ext4 51475068 7890124 40938764 17% //dev/sda1 vfat 523248 5678 517570 2% /boot/efi# Lihat disk space usage dengan output format tertentuadmin@server:~$ df -h --output=source,size,used,avail,pcent,target
du - Disk Usage
bash
# Lihat disk usage untuk directoryadmin@server:~$ du /var/log4 /var/log/apt4 /var/log/nginx1234 /var/log# Lihat disk usage dalam human-readable formatadmin@server:~$ du -h /var/log4.0K /var/log/apt4.0K /var/log/nginx1.2M /var/log# Lihat disk usage dengan summaryadmin@server:~$ du -sh /var/log1.2M /var/log# Lihat disk usage dengan summary untuk multiple directoriesadmin@server:~$ du -sh /var/log /var/cache /var/lib1.2M /var/log234M /var/cache567M /var/lib# Lihat disk usage dengan max depthadmin@server:~$ du -h --max-depth=1 /var4.0K /var/opt1.2M /var/log234M /var/cache567M /var/lib123M /var/spool923M /var# Lihat disk usage dengan max depth 2admin@server:~$ du -h --max-depth=2 /var# Lihat disk usage dengan human-readable dan max depthadmin@server:~$ du -h --max-depth=1 /var | sort -hr923M /var567M /var/lib234M /var/cache123M /var/spool1.2M /var/log4.0K /var/opt# Lihat disk usage dengan bytesadmin@server:~$ du -b /var/log# Lihat disk usage dengan apparent sizeadmin@server:~$ du --apparent-size -h /var/log# Lihat disk usage dengan totaladmin@server:~$ du -sh /var/log /var/cache /var/lib --total1.2M /var/log234M /var/cache567M /var/lib802M total# Lihat disk usage dengan exclude patternadmin@server:~$ du -h --max-depth=1 --exclude="cache" /var# Lihat 10 directory terbesaradmin@server:~$ du -h --max-depth=1 /var | sort -hr | head -n 10
Perbedaan df dan du
COMMAND
FUNGSI
USE CASE
df
Lihat disk space usage per filesystem
Cek space available per mount point
du
Lihat disk usage per directory/file
Cek directory mana yang paling besar
TIPS: Gunakan df -h untuk cek space available per filesystem. Gunakan du -sh /* untuk cek directory mana yang paling besar. Gunakan du -sh /* | sort -hr | head untuk melihat top 10 directory terbesar.
KOMPETENSI SUB-BAB 07
Mampu monitor disk space dengan df
Mampu monitor directory usage dengan du
Memahami perbedaan df dan du
Mampu mencari directory terbesar dengan du
08
SUB-BAB 08 ANALISIS
ANALISIS MASALAH SERVER
Masalah Umum dan Solusi
MASALAH
GEJALA
SOLUSI
CPU tinggi
Load average > jumlah CPU
Gunakan top atau htop untuk identifikasi process, kill atau optimize process
Memory penuh
Available memory rendah, swap digunakan
Gunakan free -h untuk cek, kill process yang boros memory, atau tambah RAM
Disk penuh
df menunjukkan Use% 100%
Gunakan du -sh /* | sort -hr untuk cari directory besar, hapus file tidak perlu
Service tidak start
systemctl status menunjukkan failed
Cek log dengan journalctl -u service-name, perbaiki error
Network lambat
Ping tinggi, throughput rendah
Cek dengan ping, traceroute, cek bandwidth dengan iftop
Service crash
Service restart terus-menerus
Cek log dengan journalctl -u service-name -f, cek resource usage
Disk I/O tinggi
iowait tinggi di top
Gunakan iostat untuk identifikasi disk, optimize atau ganti disk
Swap tinggi
Swap usage tinggi
Tambah RAM atau optimize aplikasi yang boros memory
Tools untuk Analisis
bash
# CPU analysisadmin@server:~$ topadmin@server:~$ htopadmin@server:~$ mpstat -P ALL 1 5admin@server:~$ sar -u 1 5# Memory analysisadmin@server:~$ free -hadmin@server:~$ vmstat 1 5admin@server:~$ sar -r 1 5# Disk analysisadmin@server:~$ df -hadmin@server:~$ du -sh /* | sort -hr | headadmin@server:~$ iostat -x 1 5# Network analysisadmin@server:~$ ping google.comadmin@server:~$ traceroute google.comadmin@server:~$ iftopadmin@server:~$ nethogs# Process analysisadmin@server:~$ ps aux | sort -nrk 3 | head# Sort by CPU usageadmin@server:~$ ps aux | sort -nrk 4 | head# Sort by memory usage# Log analysisadmin@server:~$ journalctl -p erradmin@server:~$ journalctl -u ssh -p erradmin@server:~$ tail -f /var/log/syslog# Service statusadmin@server:~$ systemctl list-units --state=failedadmin@server:~$ systemctl status service-name
# 1. Cek CPU usageadmin@server:~$ topLoad average: 4.50, 3.20, 2.10# Load average > jumlah CPU (4 CPU)# 2. Identifikasi process yang boros CPUadmin@server:~$ ps aux | sort -nrk 3 | head -5USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1234 85.0 2.3 123456 23456 ? R 10:00 10:00 process-name# 3. Cek detail processadmin@server:~$ ps -p 1234 -f# 4. Kill process jika perluadmin@server:~$ sudo kill 1234# 5. Verifikasi CPU usage turunadmin@server:~$ top
3
CONTOH KASUS: DISK PENUH
bash
# 1. Cek disk usageadmin@server:~$ df -hFilesystem Size Used Avail Use% Mounted on/dev/sda2 49G 49G 0 100% /# 2. Cari directory terbesaradmin@server:~$ du -sh /* | sort -hr | head -1049G /var23G /var/log15G /var/cache# 3. Cari file besar di /var/logadmin@server:~$ sudo find /var/log -type f -size +100M/var/log/syslog.1/var/log/kern.log.1# 4. Hapus atau compress file besaradmin@server:~$ sudo rm /var/log/syslog.1admin@server:~$ sudo gzip /var/log/syslog.1# 5. Verifikasi disk spaceadmin@server:~$ df -h
TIPS: Selalu identifikasi root cause sebelum apply solusi. Jangan langsung hapus file tanpa tahu apa isinya. Gunakan du untuk cari directory besar, find untuk cari file besar.
KOMPETENSI SUB-BAB 08
Mampu identifikasi masalah umum server
Mampu gunakan tools untuk analisis
Mampu ikuti workflow analisis masalah
Mampu apply solusi untuk masalah umum
VOLUME 10 SELESAI
SELAMAT!
Kamu telah menyelesaikan Volume 10 - Log & Monitoring. Dari system log, journalctl, log service, monitoring CPU, monitoring RAM, monitoring disk, df dan du, hingga analisis masalah server. Kamu sekarang menguasai Log & Monitoring di Debian Linux. Di Volume 11, kita akan dalami Security & Hardening. Sampai jumpa!
Volume 10 dari seri Debian Linux Server Fundamental - 8 sub-bab Log & Monitoring.
Fitur Utama:
- Sidebar TOC: Klik sub-bab untuk lompat
- Prev/Next: Tombol navigasi di bawah
- Bookmark: Tandai sub-bab favorit
- Progress Bar: Indikator kemajuan baca
- Copy Code: Klik SALIN untuk copy command
8 Sub-Bab:
01: System Log | 02: journalctl | 03: Log Service | 04: Monitoring CPU | 05: Monitoring RAM | 06: Monitoring Disk | 07: df dan du | 08: Analisis Masalah