Header Menu

CentOS Sunucusunda Log Dosyalarını Analiz Etme ve Yönetme resim

CentOS Sunucusunda Log Dosyalarını Analiz Etme ve Yönetme

CentOS sunucusunda log dosyalarını analiz etmek ve yönetmek, sistemin sağlığını izlemek, hataları tespit etmek ve güvenlik olaylarını denetlemek için oldukça önemlidir. İşte CentOS sunucusunda log dosyalarını analiz etme ve yönetme konusunda bazı temel adımlar ve araçlar:

1. Log Dosyalarını Bulma

CentOS'ta log dosyaları genellikle /var/log dizininde bulunur. Bu dizinde, sistem, uygulama ve güvenlik ile ilgili pek çok log dosyası yer alır. Öne çıkan bazı log dosyaları:

  • /var/log/messages: Sistemdeki genel olaylar ve hata mesajları.
  • /var/log/secure: Güvenlik ve kullanıcı oturumu ile ilgili loglar.
  • /var/log/cron: Cron işlerinin çıktısı.
  • /var/log/httpd/: Apache web sunucusunun log dosyaları.
  • /var/log/mysql/: MySQL veritabanı logları.
  • /var/log/dmesg: Kernel ve donanım ile ilgili mesajlar.
  • /var/log/audit/: SELinux ve güvenlik denetim logları.

2. Log Dosyalarını Görüntüleme ve Analiz Etme

Log dosyalarını görüntülemek için aşağıdaki komutları kullanabilirsiniz:

cat Komutu

Bir dosyanın tamamını ekrana yazdırmak için:

cat /var/log/messages

less Komutu

Büyük log dosyalarını sayfa sayfa incelemek için:

less /var/log/messages

less komutunda yukarı ve aşağı ok tuşlarıyla gezinilebilir, arama yapabilirsiniz.

tail Komutu

Log dosyasının son kısmını izlemek için:

tail -f /var/log/messages

Bu komut, dosyaya yeni satırlar eklenmeye devam ettikçe anında ekrana basar.

grep Komutu

Log dosyalarında belirli bir terimi aramak için:

grep "error" /var/log/messages

Bu komut, log dosyasındaki "error" kelimesini içeren satırları listeleyecektir.

journalctl Komutu

Systemd loglarını incelemek için:

journalctl -xe

Bu komut, sistemdeki tüm logları listeleyecek ve en son hataları gösterecektir. Ayrıca, zaman aralıklarına göre de filtreleme yapabilirsiniz:

journalctl --since "2025-03-01" --until "2025-03-05"

3. Log Dosyalarını Yönetme

Log dosyalarını yönetmek için birkaç farklı strateji ve araç vardır.

Log Rotasyonu

Log dosyalarının boyutlarının hızla büyümesini engellemek için log rotasyonu kullanılır. CentOS'ta, log rotasyonu için logrotate aracı kullanılır. Bu araç, log dosyalarını belirli bir boyuta ulaştığında arşivler ve yeni bir dosya oluşturur.

Log rotasyon ayarları, /etc/logrotate.conf dosyasındaki ana ayarlar ve /etc/logrotate.d/ dizinindeki özel konfigürasyon dosyaları ile yapılır. Örneğin, Apache için log rotasyonu /etc/logrotate.d/httpd dosyasına yapılabilir.

Logrotate dosyası örneği:

/var/log/httpd/*.log {
    weekly
    rotate 4
    compress
    missingok
    notifempty
    create 640 root root
}

Bu ayar, Apache loglarını her hafta döndürür, eski logları sıkıştırır ve 4 haftaya kadar saklar.

logrotate Komutunu Manuel Çalıştırmak

Log dosyalarını manuel olarak döndürmek için:

sudo logrotate -f /etc/logrotate.conf

Log Dosyalarını Temizleme

Log dosyalarının fazla büyümesini engellemek için bazı dosyaları düzenli aralıklarla temizleyebilirsiniz. Örneğin, /var/log/ dizinindeki eski log dosyalarını silmek için:

sudo rm /var/log/*.old

4. Log Dosyalarını İzlemek

Log dosyalarındaki kritik olayları izlemek için bazı araçlar kullanılabilir. Bu araçlar, logları sürekli takip ederek önemli hataları hızlıca tespit etmenizi sağlar.

Logwatch Aracı

Logwatch, günlük olarak log dosyalarını analiz eder ve raporlar üretir. Yüklemek için:

sudo yum install logwatch

Raporu almak için:

sudo logwatch --detail High --mailto [email protected]

Fail2ban Aracı

Fail2ban, log dosyalarını izler ve şüpheli giriş denemeleri gibi güvenlik tehditlerini engeller. Yüklemek için:

sudo yum install fail2ban

5. Log Dosyalarının Yedeklenmesi

Log dosyalarını düzenli olarak yedeklemek, önemli verilerin kaybolmasını engeller. Yedekleme için basit bir cron job oluşturabilirsiniz. Örneğin, her gün gece yarısı log dosyalarını yedeklemek için bir cron job ekleyebilirsiniz:

sudo crontab -e

Ve şunu ekleyin:

0 0 * * * cp -r /var/log /path/to/backup/

6. SELinux Logları ve Güvenlik

SELinux ile ilgili loglar genellikle /var/log/audit/audit.log dosyasına yazılır. SELinux, güvenlik olaylarını detaylı şekilde loglar ve bu logları analiz etmek için ausearch veya sealert gibi araçlar kullanılabilir.

SELinux Loglarını Analiz Etme

SELinux loglarını analiz etmek için:

ausearch -m avc

Bu komut, SELinux tarafından engellenen işlemleri listeler.

Sonuç

CentOS sunucusunda log dosyalarını analiz etmek ve yönetmek, sistem yönetiminin önemli bir parçasıdır. Log dosyalarının düzenli olarak izlenmesi ve yönetilmesi, sistemdeki sorunları erken tespit etmek ve güvenlik açıklarını kapatmak için hayati öneme sahiptir.

44 Görüntüleme