Sunucu Durumu Öğrenme
SSH ile ulaşılan Ubuntu sunucuda CPU/RAM yükünü, disk doluluğunu, servis durumunu ve logları hızlıca kontrol et.
Hızlı kontrol listesi
- Hangi host:
hostname/ IP / ortam (prod/preprod/test) net mi? - Bağlantı sorunlarında önce
sunucu-erisimivessh-baglantidokümanlarını uygula. - Kritik servis/uygulama isimleri ve portlar biliniyor mu?
CPU ve bellek (htop/top/free)
uptime # Load average: 1,5,15 dakikalık ortalama (CPU core sayısıyla karşılaştır)
w # Aktif kullanıcı/işlem
htop # Renkli canlı izleme, F6 ile sıralama
top -o %CPU # CPU’ya göre sıralı klasik görünüm
free -h # RAM/Swap kullanımı
ps -eo pid,user,%cpu,%mem,cmd --sort=-%cpu | head
ps -eo pid,user,%cpu,%mem,cmd --sort=-%mem | head
Notlar:
- Load average çekirdek sayısından yüksekse CPU baskısı vardır.
- Swap hızla artıyorsa bellek yetersiz veya sızıntı olabilir.
Disk doluluk ve inode
df -h # Dosya sistemi doluluk
df -i # Inode doluluğu (inode %100 ise dosya temizliği gerekir)
lsblk -f # Hangi disk hangi mount noktasında
sudo du -sh /var/log/* | sort -h | tail
sudo du -sh /var/www/* | sort -h | tail # Uygulama dizini örneği
sudo find /var/log -type f -size +200M -print
Dolulukta:
- Loglar şişmişse gerek olmayanları sil/rotate et (
logrotate), uygulama log seviyesini düşür. - Inode doluysa çok küçük dosya üreten dizini temizle/archivle.
Servis durumu (systemctl)
systemctl status <service>
systemctl list-units --type=service --state=failed
sudo systemctl restart <service>
sudo systemctl daemon-reload # Unit değiştiyse
Servis logu:
journalctl -u <service> -n 200
journalctl -u <service> -f
journalctl -u <service> --since "30 min ago"
journalctl -p err -b # Son boot'tan beri error seviyeleri
Log inceleme (genel)
sudo tail -n 200 /var/log/syslog
sudo tail -n 200 /var/log/auth.log
sudo journalctl -p warning --since "1 hour ago"
Arızalı işlem/servis ipuçları için journalctl -xe de bakılabilir.
Ağ ve bağlantı kontrolleri
dig +short hostname
ping -c 3 hostname
ss -ltnp | head # Dinleyen portlar
nc -vz hostname 80 # Port testi örneği
curl -I http://hostname/health
Firewall ya da rota sorunu şüphesinde traceroute/mtr ekle.
Hızlı yorumlama
- CPU yüksek: En çok CPU yiyen süreci bul (
ps/top/htop), gerekirse restart veya ölçekleme. - RAM yüksek: RSS’ı en yüksek işlem, cache/drop (geçici), limit aşımı; swap artıyorsa uyarı.
- Disk dolu:
df -h/duile en büyük dizin; log rotate veya temizlik; inode’a dikkat. - Servis down:
systemctl status, son log satırları, konfig değiştiysedaemon-reload+ restart.