Nginx vekil sunucu günlüklerini (logs) nasıl yapılandırılır? (access_log, error_log)

Nginx, popüler bir açık kaynaklı web sunucusu ve ters proxy sunucusudur. Performans, ölçeklenebilirlik ve düşük kaynak kullanımı avantajları ile öne çıkar. Nginx’in sağladığı günlükleme sistemi, erişim ve hata günlüklerini kaydetmek için kullanılır. Bu sistem, sunucu üzerinde gerçekleşen olayların izlenmesi ve analiz edilmesi açısından kritik önem taşır. Nginx’de erişim ve hata günlüklerinin yapılandırılması, sunucu yönetimi ve performans izleme açısından önemli bir adımdır.

Erişim Günlüğü (access_log)

Erişim günlükleri, sunucunun aldığı HTTP istekleri hakkında bilgi sağlar. Kullanıcı IP adreslerinden, istek zamanına, istek yöntemine, istek yapıcı URL’ye ve daha fazlasına dair verileri içerir. Nginx’de erişim günlüğü yapılandırmak için aşağıdaki adımlar izlenebilir:

1. Günlük Dosyası Belirleme: Erişim günlüğü için bir dosya yolu belirlenir. Bu yol, genellikle Nginx konfigürasyon dosyasında (`nginx.conf`) belirtilir.

“`nginx
access_log /var/log/nginx/access.log;
“`

Burada `/var/log/nginx/access.log`, günlüklerin kaydedileceği dosya yoludur.

2. Format Ayarlama: Erişim günlüğünün içeriği, format dizeleri kullanılarak özelleştirilebilir. Nginx, varsayılan bir format sağlar; ancak özel formatlar tanımlamak da mümkündür. Aşağıda, örnek bir format tanımı gösterilmektedir:

“`nginx
log_format main ‘$remote_addr – $remote_user [$time_local] “$request” ‘
‘$status $body_bytes_sent “$http_referer” ‘
‘”$http_user_agent” “$http_x_forwarded_for”‘;
access_log /var/log/nginx/access.log main;
“`

Burada `log_format`, günlüğe kaydedilecek alanları belirler.

3. Aktivasyon: Erişim günlüğü, genel yapılandırma veya belirli bir sunucu bloğu içinde etkinleştirilebilir. Genel yapılandırma düzeyinde belirtildiğinde, tüm sunucu blokları için geçerli olur.

Hata Günlüğü (error_log)

Hata günlükleri, sunucu üzerinde oluşan hata iletilerini kaydeder. Bu günlükler, sunucuda meydana gelen hataların çözümünde önemli bir referans noktasıdır. Hata günlüğü yapılandırma süreci şu şekildedir:

1. Günlük Dosyası Belirleme: Hata günlüğü için bir dosya yolu belirlenir. Bu saat, günlüklerdeki hataların kaydedileceği yerdir. Aşağıdaki gibi yapılandırılabilir:

“`nginx
error_log /var/log/nginx/error.log;
“`

2. Seviye Ayarlama: Hata günlüğü için bir kayıt seviyesi belirlenebilir. Nginx, hata seviyeleri arasında `error`, `warn`, `info` ve `debug` gibi seçenekler sunar. Örnek bir yapılandırma:

“`nginx
error_log /var/log/nginx/error.log warn;
“`

Bu ayar, yalnızca `warn` ve daha ciddi seviyedeki hataların kaydedileceği anlamına gelir.

3. Hata Günlüğü Seçenekleri: Hata günlüğü, farklı sunucu blokları için özelleştirilebilir. Belirli bir sunucu veya konum için ayrı hata günlükleri belirlemek mümkündür. Örneğin:

“`nginx
server {
listen 80;
server_name example.com;
error_log /var/log/nginx/example.com.error.log;
}
“`

Günlüklerin Yönetimi

Günlük dosyalarının düzenli olarak yönetilmesi, sistem performansı açısından önemlidir. Büyük günlük dosyaları, disk alanını aşırı şekilde tüketebilir. Günlük dosyalarının döndürülmesi (log rotation) gereklidir. Linux sistemleri için `logrotate` aracı, günlük dosyalarının otomatik olarak döndürülmesi için yaygın olarak kullanılır. Aşağıda bir `logrotate` konfigürasyonu örneği verilmiştir:

“`
/var/log/nginx/.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
postrotate
/usr/sbin/nginx -s reopen
endscript
}
“`

Burada, günlük dosyaları her gün döndürülecek ve 14 gün boyunca saklanacaktır.

Günlüklerin Analizi

Nginx günlüğü verileri, analiz ve raporlama için önemli bir kaynak oluşturur. Birçok araç, bu günlükleri analiz etmek ve görselleştirmek için kullanılabilir. Örneğin, `GoAccess`, `AWStats` ve `Elasticsearch-Kibana` gibi araçlar, erişim ve hata günlüklerini incelemek için kullanılabilir. Elde edilen veriler, trafiği izleme, hata analiz etme ve performans optimizasyonu gibi konularda yardımcı olabilir.

Nginx, sunduğu güçlü günlükleme özellikleri ile sistem yöneticilerine ve geliştiricilere değerli bilgiler sunar. Erişim ve hata günlüklerinin doğru bir şekilde yapılandırılması, sunucunun sağlıklı bir şekilde çalışmasını sağlamaya yardımcı olur. Өзellikle sistemlerin performans izlemesi ve sorun çözme süreçlerinde bu günlüklerin analizi büyük önem taşır. Nginx günlükleme yapılandırması, sunucu yönetiminin vazgeçilmez parçalarından biridir.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

SON İÇERİKLER

İLGİNİZİ ÇEKEBİLİR