sunucuhataları
teknik çözüm merkezi
Ara Giriş Yap Üye Ol
🏠 Ana Sayfa 📚 Kurulum Rehberleri
Kategoriler
🌐 Web Sunucuları 🐧 İşletim Sistemleri 📦 Sanallaştırma & VPS 🖥️ Kontrol Panelleri 🔒 SSL & Güvenlik 📝 CMS & Uygulamalar 🗄️ Veritabanı 📧 Mail Sunucusu 🗨️ Forum ℹ️ Hakkımızda 📧 İletişim
Giriş Yap Üye Ol
Ana Sayfa İşletim Sistemleri Linux Log Dosyaları: Nerede, Nasıl İncelenir?
🐧 İşletim Sistemleri

Linux Log Dosyaları: Nerede, Nasıl İncelenir?

Linux log dosyaları rehberi: /var/log dizini, journalctl ile systemd logları, grep analizi ve logrotate yapılandırması.

📅 21 Mayıs 2025 👁 12 görüntülenme ⏱ 4 dk okuma
𝕏 Paylaş
📋 İçindekiler göster/gizle

Linux Log Dosyaları Neden Önemli?

Log dosyaları, sistem yöneticilerinin sunucu sağlığını izlemesi, güvenlik ihlallerini tespit etmesi ve uygulama hatalarını teşhis etmesi için temel bilgi kaynağıdır. Bir sunucu sorunu yaşandığında ilk bakılacak yer her zaman log dosyalarıdır. Linux'ta loglar yapılandırılmış dizinlerde saklanır ve farklı araçlarla analiz edilebilir.

Modern Linux dağıtımları iki paralel log sistemi kullanır: geleneksel metin tabanlı syslog (rsyslog/syslog-ng) ve systemd'nin ikili log veritabanı (journald). Her ikisini de etkin biçimde kullanmak sistem yöneticisinin olmazsa olmazıdır.

Temel Log Dizini: /var/log

ls -la /var/log/

Önemli log dosyaları ve işlevleri:

Sistem Logları

  • /var/log/syslog (Debian/Ubuntu) - Genel sistem mesajları
  • /var/log/messages (RHEL/AlmaLinux) - Genel sistem logları
  • /var/log/kern.log - Kernel mesajları
  • /var/log/dmesg - Açılış sırasındaki kernel ring buffer
  • /var/log/boot.log - Sistem açılış logları

Güvenlik Logları

  • /var/log/auth.log (Ubuntu) - SSH girişleri, sudo kullanımı, başarısız denemeler
  • /var/log/secure (AlmaLinux) - Kimlik doğrulama ve güvenlik logları
  • /var/log/faillog - Başarısız giriş denemeleri
  • /var/log/lastlog - Son giriş bilgileri

Uygulama Logları

  • /var/log/nginx/ - Nginx access ve error logları
  • /var/log/apache2/ - Apache access ve error logları
  • /var/log/mysql/ - MySQL error logları
  • /var/log/mail.log - Postfix/Dovecot mail logları

Gerçek Zamanlı Log İzleme

# Dosya sonunu takip et
sudo tail -f /var/log/syslog
sudo tail -f /var/log/nginx/access.log

# Birden fazla dosyayı aynı anda izle
sudo tail -f /var/log/nginx/error.log /var/log/syslog

# Son 50 satırı göster
sudo tail -50 /var/log/auth.log

# Baştan itibaren göster
sudo head -20 /var/log/syslog

journalctl ile Systemd Logları

# Tüm sistem logları
sudo journalctl

# Son 100 satır
sudo journalctl -n 100

# Belirli servis logları
sudo journalctl -u nginx
sudo journalctl -u mysql
sudo journalctl -u ssh

# Gerçek zamanlı takip
sudo journalctl -f

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

# Belirli tarih aralığı
sudo journalctl --since "2024-01-01 00:00:00" --until "2024-01-02 23:59:59"

# Sadece hata logları
sudo journalctl -p err

# Boot logları
sudo journalctl -b           # Bu açılış
sudo journalctl -b -1        # Önceki açılış

grep ile Log Analizi

# SSH brute force saldırılarını bul
sudo grep "Failed password" /var/log/auth.log | head -20

# Başarısız SSH girişimlerini IP'ye göre say
sudo grep "Failed password" /var/log/auth.log | \
  awk '{print $(NF-3)}' | sort | uniq -c | sort -rn | head -10

# Nginx 500 hataları
sudo grep " 500 " /var/log/nginx/access.log | tail -20

# Belirli IP'nin tüm istekleri
sudo grep "1.2.3.4" /var/log/nginx/access.log

# Belirli zaman dilimindeki istekler
sudo awk '/01\/Jan\/2024:10/' /var/log/nginx/access.log

Nginx Log Analizi

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

# En çok erişilen URL'ler
sudo awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10

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

# Günlük istek sayısı
sudo awk '{print $4}' /var/log/nginx/access.log | cut -d: -f1 | sort | uniq -c

Logrotate ile Log Yönetimi

sudo nano /etc/logrotate.d/nginx
/var/log/nginx/*.log {
    daily
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    sharedscripts
    postrotate
        [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
    endscript
}
# Logrotate manuel test
sudo logrotate -d /etc/logrotate.d/nginx   # Dry run
sudo logrotate -f /etc/logrotate.d/nginx   # Zorla çalıştır

Disk Kullanımı Kontrol

# Log dizininin disk kullanımı
sudo du -sh /var/log/*  | sort -rh | head -20

# 100MB'dan büyük log dosyaları
sudo find /var/log -name "*.log" -size +100M

Sonuç

Linux log dosyalarını nerede bulacağınızı, journalctl ile systemd loglarını nasıl inceleyeceğinizi, grep ile analiz yapacağınızı ve logrotate ile log yönetimini otomatize edeceğinizi öğrendiniz. Düzenli log analizi, güvenlik sorunlarını ve performans darboğazlarını erken tespit etmenin en etkili yoludur.

🤔 Bu kurulumda sorun mu yaşıyorsunuz?

Hata mesajınızı kopyalayıp foruma konu açın. Topluluğumuz size özel durumunuza göre yardımcı olacaktır.

🗨️ Foruma Katıl & Yardım Al

Yorumlar

Henüz yorum yok. İlk yorumu siz yapın!

Yorum Yap

Yorumunuz onaylandıktan sonra yayınlanır.