Buyukweb
Linux'ta Log Yönetimi: Sistem Loglarını Okuma ve Analiz Etme

Linux'ta Log Yönetimi: Sistem Loglarını Okuma ve Analiz Etme

Linux sistem loglarını nasıl okur ve analiz edersiniz? /var/log dizini, journalctl, logrotate ve log analizi için pratik komutlar ile sunucu sorun giderme rehberi.

Büyükweb Teknik Ekibi3 Ekim 20247 dakika okuma

Linux'ta Log Yönetimi: Sistem Loglarını Okuma ve Analiz Etme

Linux'ta her sistem aktivitesi log dosyalarına kaydedilir. Web sunucusu hataları, kimlik doğrulama girişimleri, sistem servisleri ve güvenlik olaylarının tamamı log dosyalarında tutulur. Bu dosyaları okumak ve analiz etmek, sorunları hızla teşhis etmenin anahtarıdır.

Linux Log Dosya Yapısı

Logların büyük çoğunluğu /var/log/ dizininde saklanır:

/var/log/
├── syslog / messages     → Genel sistem logları
├── auth.log / secure     → Kimlik doğrulama logları
├── kern.log              → Çekirdek logları
├── dmesg                 → Donanım başlangıç mesajları
├── apache2/ / httpd/     → Apache web sunucu logları
├── nginx/                → Nginx logları
├── mysql/                → MySQL/MariaDB logları
├── php-fpm.log           → PHP-FPM logları
├── mail.log              → Mail sunucu logları
└── cron                  → Cron job logları

Temel Log Okuma Komutları

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

# Canlı log takibi
tail -f /var/log/nginx/error.log

# Birden fazla log takibi
tail -f /var/log/nginx/error.log /var/log/php-fpm.log

# İlk 100 satır
head -100 /var/log/syslog

# Tüm dosyayı sayfa sayfa oku
less /var/log/syslog

Apache Web Sunucu Logları

Apache iki temel log dosyası tutar:

Access Log

Tüm HTTP istekleri kaydedilir:

192.168.1.100 - - [15/Jan/2026:10:30:00 +0300] "GET /index.php HTTP/1.1" 200 4521

Format: IP - - [Tarih] "İstek" DurumKodu Boyut

# Bugünkü 404 hataları
grep "404" /var/log/apache2/access.log | grep "$(date +'%d/%b/%Y')"

# En fazla istek atan IP'ler
awk '{print $1}' /var/log/apache2/access.log | sort | uniq -c | sort -rn | head -10

# 500 hataları
grep " 500 " /var/log/apache2/access.log | tail -20

Error Log

Uygulama ve sunucu hataları:

tail -50 /var/log/apache2/error.log
grep "PHP" /var/log/apache2/error.log | tail -20

Nginx Logları

# Hata logları
tail -100 /var/log/nginx/error.log

# Erişim logları
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10

# Belirli HTTP kodları
grep '"5[0-9][0-9]' /var/log/nginx/access.log | tail -20

MySQL Logları

# MySQL hata logu
tail -50 /var/log/mysql/error.log

# Yavaş sorgu logu (aktifse)
tail -50 /var/log/mysql/mysql-slow.log

Sistem Logları

/var/log/auth.log (Ubuntu) / /var/log/secure (RHEL)

Kimlik doğrulama olayları:

# Başarısız SSH giriş denemeleri
grep "Failed password" /var/log/auth.log | tail -20

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

# Brute force tespiti
grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -rn | head -10

/var/log/syslog

Genel sistem olayları:

# Son sistem mesajları
tail -100 /var/log/syslog

# OOM (Out of Memory) sorunları
grep -i "oom|kill" /var/log/syslog | tail -20

# Disk hataları
grep -i "error|failed" /var/log/syslog | grep -i "disk|io" | tail -10

journalctl ile Log Yönetimi (systemd)

Modern Linux sistemlerde journald, logları merkezi olarak yönetir:

# Tüm sistem logları
journalctl

# Son loglar
journalctl -n 50

# Canlı takip
journalctl -f

# Belirli servis
journalctl -u nginx
journalctl -u mysql --since today

# Tarih aralığı
journalctl --since "2026-01-01" --until "2026-01-31"
journalctl --since "1 hour ago"

# Hata ve üzeri
journalctl -p err
journalctl -p warning

# Önyükleme logları
journalctl -b 0    # Bu önyükleme
journalctl -b -1   # Önceki önyükleme

# Boyut bilgisi
journalctl --disk-usage

logrotate ile Log Rotasyonu

Log dosyaları büyümemesi için logrotate ile periyodik dönüştürme yapılır:

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

# Konfigürasyon kontrolü
logrotate -d /etc/logrotate.conf

Örnek logrotate konfigürasyonu (/etc/logrotate.d/nginx):

/var/log/nginx/*.log {
    daily
    missingok
    rotate 14
    compress
    delaycompress
    notifempty
    create 0640 www-data adm
    sharedscripts
    postrotate
        nginx -s reload
    endscript
}

Pratik Log Analizi Örnekleri

# Son 1 saattteki 500 hatalarını say
grep "$(date -d '1 hour ago' +'%d/%b/%Y:%H')" access.log | grep " 500 " | wc -l

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

# Yavaş istekler (belirli sayfa)
grep "/api/products" access.log | awk '{if ($NF > 2000) print $0}'

# Bant genişliği tüketen URL'ler
awk '{sum[$7]+=$10} END {for (url in sum) print sum[url], url}' access.log | sort -rn | head -10

Büyükweb VDS Log Yönetimi

Büyükweb VDS sunucular ile loglarınızı gerçek zamanlı olarak izleyebilirsiniz. Fail2Ban gibi araçlarla log tabanlı otomatik güvenlik eylemleri de yapılandırılabilir.

Sonuç

Linux log yönetimi, sorun tespiti ve güvenlik izleme için vazgeçilmezdir. tail -f ile canlı log takibi, grep ve awk ile filtreleme ve journalctl ile merkezi log yönetimi, günlük sunucu yönetiminin temel araçlarıdır. Düzenli log analizi, sorunları büyümeden önce tespit etmenizi sağlar.


Pratik Linux Komutlari

Dosya Yonetimi

find ile kriterlere gore arama yapin. du -sh ile dizin boyutu, ncdu ile interaktif analiz. locate ile hizli dosya bulma. rsync ile dosya senkronizasyonu.

Surec Yonetimi

ps aux ile surecleri goruntuleyin. kill -9 ile sonlandirin. nohup ile arka planda calistirin. screen/tmux ile coklu terminal. systemctl ile servis yonetimi.

Metin Isleme

grep -r ile arama, sed ile toplu degisiklik, awk ile sutun cikarma. jq ile JSON isleme. tail -f ile canli log takibi. wc ile satir/kelime sayma.

Ag Komutlari

ss -tulpn ile portlar, curl ile HTTP istekleri, mtr ile traceroute, tcpdump ile trafik yakalama. dig ile DNS sorgulari. wget ile dosya indirme.

Zamanlama

crontab -e ile zamanlanmis gorevler. Yedekleme, temizlik otomasyonu. systemd timer ile gelismis zamanlama.

Disk Yonetimi

df -h ile kullanim, lsblk ile diskler. LVM ile esnek yonetim. RAID yapilandirmasi.

Sik Sorulan Sorular

Nereden baslamaliyim?

Temel komutlar (ls, cd, cp, mv, rm), editior (nano/vim), izinler (chmod) ve paket yonetimi (apt/dnf) ile baslayin.

Bash script nasil yazilir?

#!/bin/bash ile baslayin. Degiskenler, kosullar, donguler ogrenin. chmod +x ile calistirin.

Sonuc

Linux komut satiri sunucu yonetiminin vazgecilmez aracidir. Pratik yaparak becerilerinizi gelistirin.

En Sik Kullanilan Linux Komutlari

Komut Aciklama Ornek
ls -la Detayli dosya listesi ls -la /var/www
grep -r Icerik arama grep -r "error" /var/log
find Dosya bulma find / -name "*.conf"
chmod Izin degistirme chmod 755 dosya.sh
chown Sahiplik degistirme chown www-data /var/www
systemctl Servis yonetimi systemctl restart nginx
journalctl Log goruntuleme journalctl -u nginx -f
df -h Disk kullanimi df -h /
free -m Bellek kullanimi free -m
ss -tulpn Ag baglantilari ss -tulpn

Shell Scripting Temelleri

Bash script ile tekrarli gorevleri otomatiklestirin:

Yedekleme Scripti

Otomatik yedekleme ile veritabani ve dosyalarinizi duzenli yedekleyin. mysqldump ile veritabani, tar ile dosya arsivi olusturun.

Disk Izleme

Disk kullanimini izleyen ve esik degerini astiginda bildirim gonderen script yazin.

Log Analiz

Apache/Nginx loglarini analiz ederek en cok ziyaret edilen sayfalar ve supheli IP adresleri raporlayan script olusturun.

Profesyonel Hosting icin Onemli Kriterler

Veri Merkezi Kalitesi

Veri merkezinin tier seviyesi, sunucu barindirma kalitesini dogrudan etkiler. Tier 3 veri merkezleri yedekli guc, soğutma ve ag altyapisi ile %99.982 uptime garantisi sunar. Buyukweb'in Bursa Pendc Tier 3 veri merkezi bu standartlari karsilamaktadir.

Teknik Destek Kalitesi

7/24 ulasılabilir, Turkce ve teknik bilgi sahibi destek ekibi hosting hizmetinin vazgecilmez parcasidir. E-posta, canli destek ve telefon kanallarindan hizli yanit almak ozellikle is surekliligi acisından kritiktir.

Olceklenebilirlik

Isletmeniz buyudukce hosting ihtiyaclariniz da degisir. Paylasimli hostingten VDS'e, VDS'den dedicated sunucuya sorunsuz gecis yapabilmek uzun vadeli planlamaniz icin onemlidir. Buyukweb tum bu gecis sureclerini ucretsiz olarak yonetir.

Yedekleme ve Felaket Kurtarma

Gunluk otomatik yedekleme, tek tikla geri yukleme ve uzak yedekleme secenekleri veri guvenliginiz icin sart. JetBackup ile profesyonel yedekleme cozumu tum Buyukweb hosting paketlerinde standarttir.

Guvenlik Katmanlari

SSL sertifikasi, WAF korumasi, malware tarama, DDoS korumasi ve guvenlik duvari - tum bu katmanlar birlikte calisiarak web sitenizi korur. Buyukweb bu guvenliklerin hepsini standart olarak sunar.

Etiketler:

#log yönetimi#linux#komut satırı#terminal#sunucu yönetimi

Bu yazıyı paylaş