Linux Sunucuda Log Analizi Nasıl Yapılır?

HazalHost Teknik Ekip
06 Nisan 2026
8 dk okuma
Sunucu Yönetimi

Log dosyaları sunucunun hikayesini anlatır. Bir saldırı mı oldu, servis mi çöktü, disk mi doldu — cevap her zaman loglardadır. Bu rehberde Linux sunucuda log dosyalarının nerede olduğunu, nasıl okunduğunu ve etkili analiz yöntemlerini öğreneceksin.

Önemli Log Dosyaları ve Konumları

📋 Temel Log Dizini: /var/log/
  • /var/log/syslog — Genel sistem logları
  • /var/log/auth.log — SSH girişleri, sudo kullanımları
  • /var/log/kern.log — Kernel mesajları
  • /var/log/nginx/ — Nginx access ve error logları
  • /var/log/apache2/ — Apache logları
  • /var/log/mysql/ — MySQL hata ve sorgu logları
  • /var/log/fail2ban.log — Fail2Ban engelleme logları
  • /var/log/ufw.log — UFW firewall logları

Adım 1: Log Dosyalarını Okuma

# Son 50 satırı oku
tail -n 50 /var/log/syslog

# Canlı olarak izle (yeni satırlar anında görünür)
tail -f /var/log/syslog

# Birden fazla logu aynı anda izle
tail -f /var/log/syslog /var/log/auth.log

# Dosyanın başından oku
head -n 100 /var/log/syslog

# Sayfalı okuma
less /var/log/syslog

Adım 2: grep ile Log Filtreleme

# SSH başarısız girişleri bul
grep "Failed password" /var/log/auth.log

# Belirli IP'nin aktivitesi
grep "203.0.113.50" /var/log/auth.log

# Bugünkü hataları bul
grep "$(date +%b\ %d)" /var/log/syslog | grep -i error

# Sayısını gör
grep -c "Failed password" /var/log/auth.log

# Büyük/küçük harf duyarsız arama
grep -i "error\|critical\|fatal" /var/log/syslog

Adım 3: Saldırı Tespiti

# En çok başarısız giriş deneyen IP'ler
grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -rn | head -20

# Brute force saldırısı tespiti
grep "authentication failure" /var/log/auth.log | tail -20

# Root'a giriş denemeleri
grep "user root" /var/log/auth.log | grep "Failed"

# Başarılı girişler
grep "Accepted" /var/log/auth.log | tail -20

Adım 4: journalctl ile SystemD Logları

# Tüm loglar
sudo journalctl

# Son 1 saatin logları
sudo journalctl --since "1 hour ago"

# Belirli servisin logları
sudo journalctl -u nginx
sudo journalctl -u mysql
sudo journalctl -u sshd

# Hata seviyesindeki loglar
sudo journalctl -p err

# Boot logları
sudo journalctl -b

# Gerçek zamanlı izleme
sudo journalctl -f

# Disk kullanımını gör
sudo journalctl --disk-usage

💡 Proaktif Sunucu Yönetimi

Log analizi, sorunları önceden tespit etmenin en iyi yoludur. HazalHost VDS sunucularda tam root erişimi ile tüm loglarına erişebilir, güvenlik izlemesi yapabilirsin.

→ Ekonomik VDS  |  → Performans VDS

Adım 5: LogRotate ile Log Yönetimi

# Mevcut logrotate yapılandırması
cat /etc/logrotate.conf

# Özel yapılandırma oluştur
sudo nano /etc/logrotate.d/custom-app
/var/log/myapp/*.log {
    daily
    missingok
    rotate 14
    compress
    delaycompress
    notifempty
    create 0640 www-data www-data
    sharedscripts
    postrotate
        systemctl reload nginx > /dev/null 2>&1 || true
    endscript
}
# LogRotate'i test et
sudo logrotate -d /etc/logrotate.d/custom-app

# Manuel çalıştır
sudo logrotate -f /etc/logrotate.conf

Gelişmiş: awk ile Log Analizi

# Nginx access log - En çok istek yapan IP'ler
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10

# HTTP durum kodlarının dağılımı
awk '{print $9}' /var/log/nginx/access.log | sort | uniq -c | sort -rn

# En çok istenen sayfalar
awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10

# Saatlik istek dağılımı
awk '{print $4}' /var/log/nginx/access.log | cut -d: -f2 | sort | uniq -c

🚀 Güvenli ve İzlenebilir Altyapı

Log analizi + DDoS koruması + Fail2Ban = tam güvenlik. HazalHost VDS sunucularıyla başla.

🔥 Performans VDS Satın Al

Sonuç

Log analizi sunucu yönetiminin olmazsa olmazıdır. grep ile hızlı filtreleme, journalctl ile systemd log izleme ve awk ile ileri analiz yaparak sunucundaki sorunları erkenden tespit edebilirsin. LogRotate ile logların diski doldurmasını engellemeyi de unutma.

Sık Sorulan Sorular (FAQ)

Log dosyaları diskimi dolduruyor, ne yapmalıyım?

LogRotate yapılandırmasını kontrol et. Eski logların otomatik sıkıştırılıp silindiğinden emin ol. sudo journalctl --vacuum-size=500M ile systemd loglarını da temizleyebilirsin.

Hangi logları düzenli kontrol etmeliyim?

auth.log (güvenlik), syslog (genel), web sunucu error logları ve fail2ban.log düzenli kontrol edilmesi gereken en önemli loglardır.

Merkezi log yönetimi yapabilir miyim?

Evet, rsyslog ile logları uzak sunucuya gönderebilir veya ELK Stack (Elasticsearch, Logstash, Kibana) ile merkezi log analiz sistemi kurabilirsin.

#log #analiz #grep #journalctl #güvenlik
Paylaş:

İçindekiler

🚀 VDS Sunucu Arıyorsan

Türkiye lokasyonlu, DDoS korumalı VDS sunuculara hemen göz at.

VDS Paketlerini İncele