Ana içeriğe geç

NGINX Logları Açıklaması: Access ve Error Log Rehberi

NGINX Logları Açıklaması: Access ve Error Log Rehberi

NGINX logları, sunucu trafiğini izlemek ve sorunları hızlıca çözmek için temel veri kaynağıdır.
Bu rehber, access ve error loglarının nasıl çalıştığını ve nasıl yönetileceğini anlatır.

Bu Rehberde Ne Öğreneceksiniz?

  • NGINX access ve error loglarının görevlerini
  • Log dosyalarının konumlarını ve yapılandırılmasını
  • Özel log formatları oluşturmayı
  • Hata seviyelerini ve log detaylarını yönetmeyi
  • Loglar ile performans ve güvenlik analizi yapmayı

NGINX Logları Nedir?

NGINX varsayılan olarak iki tür log tutar:

  • Access Log: Ziyaretçi isteklerini kaydeder
  • Error Log: Sunucu hatalarını ve uyarıları kaydeder

Linux sistemlerde loglar genellikle şu dizindedir:

/var/log/nginx/
  • Bu dizinde access.log ve error.log dosyaları bulunur.

NGINX Access Log Nedir?

  1. Access log, gelen her HTTP isteğini kaydeder.
  • Aşağıdaki bilgiler bu loglarda yer alır:
  1. İstemci IP adresi

  2. İstenen URL

  3. HTTP durum kodu

  4. Tarayıcı bilgisi

  5. Yanıt boyutu

  • Bu loglar trafik analizi ve saldırı tespiti için kullanılır.

Access Log Nasıl Etkinleştirilir?

  1. Access log, genellikle http bloğunda varsayılan olarak açıktır.

http {
access_log /var/log/nginx/access.log;
}
  • Bu yapılandırma tüm siteleri tek dosyada toplar.

Site Bazlı Access Log Kullanımı

  • Her alan adı için ayrı log tutmak önerilir.

server {
listen 80;
server_name domain1.com;
access_log /var/log/nginx/domain1.access.log;
}
  • Bu ayar, siteye özel trafik analizi sağlar.

Özel Access Log Formatı Oluşturma

  1. Varsayılan format yeterli değilse özel format tanımlayabilirsiniz.

log_format custom '$remote_addr [$time_local] "$request" '
'$status $body_bytes_sent "$http_user_agent"';

  • Bu formatı log dosyasına bağlayın:

access_log /var/log/nginx/domain1.access.log custom;
  • Bu yapılandırma, istek detaylarını daha net gösterir.

NGINX Error Log Nedir?

  1. Error log, yapılandırma hatalarını ve çalışma sorunlarını kaydeder.
  2. NGINX çalışmazsa veya beklenmedik davranırsa ilk bakılacak yer burasıdır.

Error Log Nasıl Etkinleştirilir?


error_log /var/log/nginx/error.log warn;
  • Bu yapılandırma uyarı ve üzeri hataları kaydeder.

Site Bazlı Error Log


server {
server_name domain1.com;
error_log /var/log/nginx/domain1.error.log error;
}
  • Bu yöntem hata kaynağını izole etmeyi kolaylaştırır.

NGINX Error Log Seviyeleri

  • NGINX hata seviyeleri önem sırasına göre çalışır:
  1. emerg: Sistem çalışamaz

  2. alert: Acil müdahale gerekir

  3. crit: Kritik hata

  4. error: İşlem başarısız


  1. warn: Uyarı

  2. notice: Bilgilendirme

  3. info: Detaylı bilgi

  4. debug: En ayrıntılı çıktı

  • Daha yüksek seviye, alt seviyeleri de kapsar.

Log Detay Seviyesi Nasıl Artırılır?

  1. Sorun giderirken geçici olarak debug seviyesi açılabilir.

error_log /var/log/nginx/error.log debug;
  • Değişiklik sonrası NGINX’i yeniden yükleyin:


sudo systemctl reload nginx

  • Üretim ortamında uzun süre debug önerilmez.

Loglar ile Performans ve Güvenlik Analizi

  • Access loglar ile şu analizler yapılabilir:
  1. Yavaş endpoint tespiti

  2. Hatalı istek yoğunluğu

  3. Bot ve tarayıcı ayrımı

  4. Şüpheli IP davranışları

Örnek performans formatı:


log_format perf '$remote_addr "$request" $status '
'$request_time $upstream_response_time';

Log Dosyası Boyutunu Yönetme (logrotate)

  • NGINX logları otomatik dönmez.
  • Linux sistemlerde logrotate kullanılır.

/var/log/nginx/*.log {
daily
rotate 14
compress
missingok
notifempty
postrotate
systemctl reload nginx > /dev/null
endscript
}
  • Bu yapı disk taşmasını önler.

Sıkça Sorulan Sorular (SSS)

1. NGINX logları nerede tutulur? Varsayılan olarak /var/log/nginx/ dizinindedir.

2. Access log kapatılabilir mi? Evet, access_log off; ile kapatılabilir.

3. Error log tamamen kapatılabilir mi? Evet, /dev/null yönlendirmesi yapılabilir.


error_log /dev/null;

4. Gerçek zamanlı log izleme nasıl yapılır?


tail -f /var/log/nginx/access.log

5. Loglar güvenlik için neden önemlidir? Saldırı, brute-force ve anormal istekler loglardan tespit edilir.


Sonuç

NGINX access ve error logları, sistem sağlığı için vazgeçilmezdir. Doğru yapılandırılmış loglar, performans ve güvenliği artırır.

Kurumsal altyapılar için log yönetimini standart hale getirin. Yüksek performanslı ve güvenli sunucular için Rabisu Bulut altyapısında hemen deneyebilirsiniz.