Linux sunucularında log dosyaları, sistemin işleyişini anlamak, hata ayıklamak, güvenlik tehditlerini tespit etmek ve performansı analiz etmek için kritik öneme sahiptir. Doğru bir log yönetimi ve analizi, sistem yöneticilerine sunucunun durumu hakkında derinlemesine bilgi sunar ve olası sorunları önceden tespit etmelerini sağlar.
Bu log dosyaları, sistemde olup bitenleri anlamak için kritik bilgiler içerir ve düzenli olarak analiz edilmelidir.
Logrotate’in çalışma mantığı:
Logrotate’in yapılandırma dosyası
Bu konfigürasyon:
1. Linux’ta Log Dosyaları Nedir ve Neden Önemlidir?
Log dosyaları, sistemdeki olayları ve işlemleri kayıt altına alan metin dosyalarıdır. Bu dosyalar, sistem yöneticilerine aşağıdaki konularda yardımcı olur:- Hata ayıklama: Uygulama veya sistem hatalarını tespit etmek
- Güvenlik izleme: Yetkisiz erişim ve saldırıları tespit etmek
- Performans izleme: Sunucu kaynaklarının kullanımını analiz etmek
- Uygulama takibi: Çalışan servislerin ve süreçlerin durumunu gözlemlemek
/var/log/
dizininde saklanır ve farklı bileşenler için çeşitli log dosyaları oluşturulur.2. Önemli Linux Log Dosyaları ve İşlevleri
Linux sunucularında en sık karşılaşılan log dosyaları şunlardır:Log Dosyası | Açıklama |
---|---|
/var/log/syslog | Genel sistem olaylarını kaydeder (Ubuntu/Debian). |
/var/log/messages | Genel sistem olaylarını kaydeder (RHEL/CentOS). |
/var/log/auth.log | Kullanıcı giriş-çıkış ve kimlik doğrulama olaylarını içerir. |
/var/log/dmesg | Sistem açılışı sırasında yüklenen donanım ve sürücü bilgilerini içerir. |
/var/log/apache2/ | Apache web sunucusu logları burada bulunur. |
/var/log/nginx/ | Nginx web sunucusu logları burada bulunur. |
/var/log/secure | Güvenlik olayları ve yetkilendirme işlemlerini içerir. |
/var/log/boot.log | Sistem açılışı ile ilgili bilgileri saklar. |
Bu log dosyaları, sistemde olup bitenleri anlamak için kritik bilgiler içerir ve düzenli olarak analiz edilmelidir.
3. Linux Log Yönetimi ve Döngüsel Loglama (Log Rotation)
Sistem loglarının boyutu zamanla büyüyebilir ve disk alanı dolabilir. Bu nedenle, log dosyalarını düzenli olarak döndürmek (rotate) ve arşivlemek gereklidir.3.1. Logrotate ile Log Döndürme
Linux sistemlerinde log dosyalarının yönetimini logrotate aracı sağlar. Logrotate, belirli periyotlarda logları sıkıştırarak eski logları arşivler ve gereksiz büyümeyi önler.Logrotate’in çalışma mantığı:
- Belirli aralıklarla eski logları yeni bir dosyaya taşır.
- İstenirse logları sıkıştırarak saklar.
- Belirli sayıda eski log dosyasını saklar.
Logrotate’in yapılandırma dosyası
/etc/logrotate.conf
yolunda bulunur. Örneğin, günlük log döndürme ve 7 gün saklama işlemi için aşağıdaki yapılandırma kullanılabilir:
Bash:
/var/log/syslog {
daily
rotate 7
compress
missingok
notifempty
}
- Log dosyalarını günlük olarak döndürür.
- 7 günlük log saklar.
- Eski logları sıkıştırır.
- Eksik dosya varsa hata vermez (missingok).
- Boş log dosyalarını siler (notifempty).
4. Linux Log Dosyalarını Okuma ve Analiz Etme
Log dosyalarını incelemek için birçok Linux komutu ve araç kullanılabilir.4.1. Temel Log Okuma Komutları
- Son 10 satırı görüntüleme:
Bash:tail -n 10 /var/log/syslog
- Log dosyasını anlık izleme:
Bash:tail -f /var/log/syslog
- Belirli bir terimi içeren satırları filtreleme:
Bash:grep "error" /var/log/syslog
- Log dosyasında belirli bir tarihi içeren satırları bulma:
Bash:grep "2025-02-12" /var/log/syslog
4.2. Journalctl ile Sistem Loglarını Görüntüleme
Systemd kullanan sistemlerde, logları görüntülemek için journalctl aracı kullanılır.- Tüm logları göster:
Bash:journalctl
- En son 50 log satırını göster:
Bash:journalctl -n 50
- Belirli bir servise ait logları göster:
Bash:journalctl -u nginx
4.3. Otomatik Log Analiz Araçları
Log analizinde kullanılan popüler araçlar:- GoAccess: Gerçek zamanlı web log analizi yapar.
- ELK Stack (Elasticsearch, Logstash, Kibana): Büyük ölçekli log analizi ve görselleştirme için kullanılır.
- Graylog: Merkezi log yönetimi ve analiz imkanı sunar.
5. En İyi Log Yönetimi ve Analiz Uygulamaları
- Gereksiz logları saklamaktan kaçının.
- Log döndürme işlemlerini düzenli olarak yapılandırın.
- Yetkisiz erişimlere karşı log dosyalarına erişimi sınırlayın.
- Otomatik analiz araçlarını kullanarak anormallikleri tespit edin.
- Güvenlik loglarını detaylı inceleyerek siber tehditleri önleyin.