From fe39ffb8b90ae4e002ed73fe98617cd590abb467 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 08:33:50 +0200 Subject: Adding upstream version 2.4.56. Signed-off-by: Daniel Baumann --- docs/manual/logs.html.tr.utf8 | 684 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 684 insertions(+) create mode 100644 docs/manual/logs.html.tr.utf8 (limited to 'docs/manual/logs.html.tr.utf8') diff --git a/docs/manual/logs.html.tr.utf8 b/docs/manual/logs.html.tr.utf8 new file mode 100644 index 0000000..f735d3d --- /dev/null +++ b/docs/manual/logs.html.tr.utf8 @@ -0,0 +1,684 @@ + + + + + +Günlük Dosyaları - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Günlük Dosyaları

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ +

Bir HTTP sunucusunu verimli şekilde yönetebilmek için oluşabilecek + sorunlardan başka sunucunun başarımı ve etkinliği hakkında da bazı geri + bildirimler almak gerekir. Apache HTTP Sunucusu çok kapsamlı ve esnek + bir günlükleme yeteneğine sahiptir. Bu belgede sunucunun günlükleme + yeteneğini nasıl yapılandıracağınızdan ve günlük kayıtlarını nasıl + yorumlayacağınızdan bahsedilecektir.

+
+ +
top
+
+

Giriş

+ + + + +

Apache HTTP Sunucusu, isteğin ilk alınışından itibaren, URL eşleme + işlemleri, bağlantının son çözümlemesi ve bu işlemler sırasına ortaya çıkan + hatalar da dahil olmak üzere sunucunuzda meydana gelen herşeyi günlüklemek + için çok çeşitli mekanizmalar içerir. Buna ek olarak, günlükleme + yetenekleri sağlayan üçüncü parti modüller de kullanılabilir veya mevcut + günlük dosyalarına girdiler enjekte edilebilir. Ayrıca, CGI programları, + PHP betikleri ve benzerleri sunucu hata günlüğüne kendi iletilerini + gönderebilirler.

+ +

Bu belgede Apache HTTP Sunucusunun standart parçası olan günlükleme + modülleri hakkında bilgi verilecektir.

+ +
top
+
+

Güvenlik Uyarısı

+ + +

Apache httpd’nin günlük dosyalarını yazdığı dizine yazabilen birinin sunucuyu + başlatan kullanıcı kimliğine (bu genellikle root olur) erişim + kazanabileceğine hemen hemen kesin gözüyle bakılabilir. Sonuçlarının + neler olacağını kestiremiyorsanız günlüklerin yazıldığı dizinde hiç + kimseye yazma erişimi vermeyin; ayrıntılı bilgi için güvenlik ipuçları belgesine + bakınız.

+ +

Buna ilaveten, günlük dosyaları istemci tarafından sağlanmış bilgiler + de içerebilir. Bu nedenle, kötü niyetli istemcilerin günlük dosyalarına + denetim karakterleri girmeleri olasılığına karşı ham günlükler ele + alınırken dikkatli olunmalıdır.

+
top
+
+

Hata Günlüğü

+ + + +

İsmi ve yeri ErrorLog yönergesi + ile belirtilen sunucu hata günlüğü, en önemli günlük dosyasıdır. Apache + httpd tarafından istekler işlenirken saptanan hatalar ve tanı bilgileri + bu dosyaya gönderilir. Sunucuyu başlatırken veya sunucu çalışırken bir + sorunla karşılaşıldığında, neyin yanlış gittiğini öğrenmek için + bakılacak ilk yer burasıdır. Günlük kaydı çoğunlukla sorunun nasıl + düzeltileceği ile ilgili ayrıntıları da içerir.

+ +

Hata günlüğü normal olarak bir dosyaya yazılır (genellikle, dosyanın + ismi Unix sistemlerinde error_log, OS/2 ve Windows’ta ise + error.log’dur). Ayrıca, Unix sistemlerinde sunucunun + hataları syslog’a veya borulamak suretiyle + bir programa aktarması da mümkündür.

+ +

Hata günlüğünün biçemi ErrorLogFormat yönergesi ile belirlenir. Bu yönergeyi + kullanarak günlüklenen değerleri özelleştirebilirsiniz. Bir biçem + belirtmezseniz öntanımlı biçem kullanılır. Örnek tipik bir hata iletisi + içermektedir:

+ +

+ [Fri Sep 09 10:42:29.902022 2011] [core:error] [pid 35708:tid 4328636416] + [client 72.15.99.187] Dosya yok: /usr/local/apache2/htdocs/favicon.ico +

+ +

Günlük girdisinin ilk öğesi iletinin yazıldığı tarih ve saatten oluşur. + İkincisi iletiyi üreten modülün ismi (bu durumda: core) ile raporlanan + bilginin önem derecesini belirtir. Bunu varsa sürecin kimliği ve yine + varsa evre kimliği izler. Sonraki öğe hatanın üretilmesine sebep olan + istemcinin IP adresini içerir. Kalanı iletinin kendisidir (duruma + bakılırsa bir dosyaya yapılan istek yerine getirilememiş).

+ +

Hata günlüğünde görünebilecek ileti çeşitliliği oldukça fazladır. Çoğu + yukarıdaki örneğin benzeridir. Hata günlüğü ayrıca, CGI betiklerinin + hata ayıklama çıktılarını da içerir. Bir CGI betiği tarafından standart + hataya (stderr) yazılan her türlü bilgi doğrudan hata + günlüğüne kopyalanır.

+ +

Hata günlüğüne ve erişim günlüğüne %L dizgeciği konularak + erişim günlüğündeki girdi ile hata günlüğündeki girdiyi ilişkilendirecek + bir günlük girdisi kimliği oluşturulabilir. + mod_unique_id yüklüyse günlük girdisi kimliği olarak + onun eşsiz istek kimliği de kullanılır.

+ +

Sunucuyu denerken olası sorunlara karşı hata günlüğünü sürekli + izlemelisiniz. Unix sistemlerinde bunu şöyle bir komutla + sağlayabilirsiniz:

+ +

+ tail -f error_log +

+
top
+
+

Modüllere göre günlükleme

+ + +

LogLevel yönergesi, günlük + iletisinin üretilmesine sebep olan modüle bağlı bir önem seviyesi + belirleyebilmenizi sağlar. Bu yolla sorun yaşadığınız modülle ilgili + günlük musluklarını sonuna kadar açabiliri ek olarak ilgilendiğiniz diğer + modüllerle ilgili ayrıntıları da edinebilirsiniz. Özellikle + mod_proxy veya mod_rewrite gibi + modüllerde yapılmak isteneni denerken neler olup bittiğini ayrıntılarıyla + bilmek istediğiniz durumlarda kullanışlıdır.

+ +

Bunu LogLevel yönergesinde modülün ismini + belirterek yapabilirsiniz:

+ +
LogLevel info rewrite:trace5
+ + +

Bu satırla ana LogLevel info'ya ayarlanırken + mod_rewrite için musluk trace5 seviyesine + kadar açılmaktadır.

+ +
Bu yönerge, Apache HTTP Sunucusunun evvelki sürümlerinde mevcut olan + RewriteLog gibi günlükleme modüllerinin yerini almıştır. +
+
top
+
+

Erişim Günlüğü

+ + + + +

Sunucu erişim günlüğü sunucu tarafından işleme alınan tüm istekleri + kaydeder. Erişim günlüğünün yeri ve içeriği CustomLog yönergesi ile belirlenir. + LogFormat yönergesi ile + günlük içeriğini kişiselleştirmek mümkündür. Bu bölümde sunucunun + bilgileri erişim günlüğüne kaydetmesi için nasıl yapılandırılacağından + bahsedilecektir.

+ +

Bilginin erişim günlüğünde saklanması günlük yönetiminde ilk + adımı oluşturur. Sonraki adım yararlı istatistikleri üretmek için bu + bilgiyi incelemektir. Günlük incelemesi bu belgenin kapsamına dahil + değildir ve aslında bu işlem sunucunun yaptığı işlerden biri + değildir.

+ +

Apache httpd’nin çeşitli sürümlerinde erişim günlüklerini denetlemek + için kullanılan diğer modüller ve yönergeler arasında mod_log_referer, + mod_log_agent modülleri ve TransferLog yönergesi + sayılabilir. Artık, daha eski tüm diğer yönergelerin işlevselliklerini + bir araya toplayan CustomLog yönergesi kullanılmaktadır.

+ +

Erişim günlüğünün girdi biçemi kolayca isteğe göre + düzenlenebilmektedir. Biçemi belirtmekte kullanılan biçem dizgesi, C + tarzı printf(1) biçem dizgesini andırır. Sonraki bölümlerde bazı + örneklere yer verilmiştir. Biçem dizgesini oluşturan belirteçlerin tam + listesi için mod_log_config belgesinin Günlük Girdilerinin + Kişiselleştirilmesi bölümüne bakınız.

+ +

Ortak Günlük Biçemi (OGB)

+ + +

Erişim günlüğü için sıklıkla kullanılan bir yapılandırma:

+ +
LogFormat "%h %l %u %t \"%r\" %>s %b" common
+CustomLog logs/access_log common
+ + +

İlk satırda belli bir biçem dizgesi için common diye bir + takma ad tanımlanmaktadır. Biçem dizgesi, sunucuya hangi + belli bir bilgi parçalarını günlükleyeceğini söyleyen % imli biçem + belirteçlerinden oluşur. Biçem dizgesine ayrıca dizgesel sabitler de + yerleştirilebilir ve bunlar erişim günlüğüne oldukları gibi + kopyalanırlar. Biçem dizgesi içinde çift tırnak karakteri (") biçem + dizgesini vaktinden önce sonlandırmaması için ters bölü çizgisi ile + öncelenmelidir. Biçem dizgesi ayrıca, satır sonlarını belirtmek için + "\n" ve sekmeleri belirtmek için "\t" + denetim karakterlerini de içerebilir.

+ +

CustomLog yönergesi + evvelce tanımlanmış bir takma adı kullanarak yeni bir günlük + dosyası tanımlar. Erişim günlüğünün dosya ismi bölü çizgisi ile + başlamadıkça dosya yolunun ServerRoot değerine göreli olduğu varsayılır.

+ +

Yukarıdaki yapılandırma günlük dosyasına girdileri Ortak Günlük + Biçemi (Common Log Format) adı verilen standart biçemde yazar. + Bu standart biçem başka HTTP sunucuları tarafından da kullanılır ve + çoğu günlük inceleme yazılımı tarafından tanınır. Ortak Günlük + Biçeminde üretilen günlük girdileri şöyle görünür:

+ +

+ 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET + /apache_pb.gif HTTP/1.0" 200 2326 +

+ +

Bu günlük girdisini parça parça açıklayalım:

+ +
+
127.0.0.1 (%h)
+ +
Bu, sunucuya istek yapan istemcinin (uzak konağın) IP adresidir. + Eğer HostnameLookups + yönergesine On değeri atanmışsa sunucu bu IP adresi + için DNS sorgusu yapacak ve IP adresi yerine bulduğu konak ismini + yazmaya çalışacaktır. Bununla birlikte, bu işlem sunucuyu epeyce + yavaşlattığından önerilmemektedir. Konak isimlerini saptamak için en + iyisi günlük girdilerini logresolve gibi bir + günlük işlemcisinden geçirmektir. Burada raporlanan IP adresi + doğrudan istemcinin IP adresi olmayabilir. Eğer sunucu ile istemci + arasında bir vekil sunucu varsa bu IP adresi, vekil sunucunun IP + adresi olacaktır.
+ +
- (%l)
+ +
Çıktıdaki bir "tire" imi istenen bilgi parçasının mevcut olmadığı + anlamına gelir. Bu durumda, mevcut olmayan bilgi istemci makine + üzerinde identd tarafından belirlenen istemcinin RFC + 1413 kimliğidir. Bu bilgi oldukça güvenilmezdir ve sıkıca denetlenen + iç ağlar haricinde hemen hemen asla kullanılmamalıdır. Apache, + IdentityCheck yönergesine + On değeri atanmış olmadıkça bu bilgiyi saptamaya + uğraşmaz.
+ +
frank (%u)
+ +
Bu, belge isteğinde bulunan kişinin HTTP kimlik doğrulamasıyla + saptanan kullanıcı kimliğidir. Bu değer CGI betiklerine + REMOTE_USER ortam değişkeni ile sağlanır. Eğer istek + için durum kodu 401 ise (aşağıya bakınız) henüz kullanıcının kimliği + doğrulanmamış olacağından bu değere güvenilmemelidir. Eğer belge + parola korumalı değilse günlüğün bu kısmı da yukarıdaki gibi + "-" olacaktır.
+ +
[10/Oct/2000:13:55:36 -0700] + (%t)
+ +
İsteğin alındığı tarih ve saat. Biçemi şöyledir: + +

+ [gün/ay/yıl:saat:dakika:saniye dilim]
+ gün    = 2 hane
+ ay     = 3 harf
+ yıl    = 4 hane
+ saat   = 2 hane
+ dakika = 2 hane
+ saniye = 2 hane
+ dilim  = (`+' | `-') 4 hane
+

+

Günlük biçem dizgesinde zaman gösterim biçemini + %{biçem}t şeklinde belirtmek de mümkündür. + Buradaki biçem dizgesi, stardart C + kütüphanesindeki strftime(3) işlevi için tanımlanmış + biçem belirteçleriyle veya desteklenen özel belirteçlerle + oluşturulabilir. Ayrıntılı bilgi için mod_log_config + biçem dizgelerine + bakın.

+
+ +
"GET /apache_pb.gif HTTP/1.0" + (\"%r\")
+ +
İstemciden alınan istek satırının çift tırnaklar arasında + gösterilmesi istenmiştir. İstek satırı en yararlı bilgi parçalarını + içerir. Birincisi, istemci tarafından kullanılan yöntem + GET’miş. İkinci olarak istemci + /apache_pb.gif dosyasını istemiş ve üçüncü olarak + istemci HTTP/1.0 protokolünü kullanmış. İstek satırının + bazı parçalarını bağımsız olarak da günlüklemek mümkündür. Örneğin, + "%m %U%q %H" dizgesi, yöntem, yol, sorgu dizgesi ve + protokolü kaydedecektir; bu dizge "%r" biçem + belirtecinin tek başına yaptığı işi yapar.
+ +
200 (%>s)
+ +
Bu, sunucunun istemciye gönderdiği durum kodudur. İsteğin + başarıyla yerine getirilip getirilmediğini gösterdiği için bu bilgi + çok değerlidir. Durum kodu 2 ile başlıyorsa istek başarıyla yerine + getirilmiştir, 3 ile başlıyorsa yönlendirilmiştir, 4 ile başlıyorsa + istemci tarafında bir hata oluşmuştur, 5 ile başlıyorsa sunucuda bir + hata oluşmuştur. Olası hata kodlarının tam listesi RFC2616 Hiper + Metin Aktarım Protokolünün 10. bölümünde bulunabilir.
+ +
2326 (%b)
+ +
Son parça istemciye döndürülen nesnenin yanıt başlığı hariç + uzunluğudur. Eğer istemciye bir içerik döndürülmemişse bu değer + "-" olacaktır. Bunun yerine günlüğe "0" + yazdırmak için %B belirtecini kullanınız.
+
+ + +

Birleşik Günlük Biçemi

+ + +

Sıklıkla kullanılan diğer bir biçem dizgesi Birleşik Günlük Biçemi + (Combined Log Format) olup şöyle kullanılabilir:

+ +
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
+CustomLog log/access_log combined
+ + +

Bu biçem ilaveten 2 alan içermesi dışında Ortak Günlük Biçemi ile + aynıdır. İlave alanların ikisi de %{başlık}i + biçeminde olup buradaki başlık, HTTP isteğindeki + başlık alanlarından biridir. Bu biçemin kullanıldığı bir erişim + günlüğü girdisi şöyle olurdu:

+ +

+ 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET + /apache_pb.gif HTTP/1.0" 200 2326 + "http://www.example.com/start.html" "Mozilla/4.08 [en] + (Win98; I ;Nav)" +

+ +

Ek alanlar:

+ +
+
"http://www.example.com/start.html" + (\"%{Referer}i\")
+ +
HTTP istek başlığı "Referer". İstemcinin raporladığı isteğin + kaynaklandığı URI. (Bu isteğin yapılmasını sağlayan bağlantıyı + içeren URL veya istek bir sayfanın bileşenleri ile ilgiliyse istenen + sayfanın URL’si olabilir.)
+ +
"Mozilla/4.08 [en] (Win98; I ;Nav)" + (\"%{User-agent}i\")
+ +
Tarayıcı kimliğini içeren HTTP istek başlığı. Bu istemcinin + tarayıcısının raporladığı kendi tanıtım bilgisidir.
+
+ + +

Çok Sayıda Erişim Günlüğü

+ + +

Yapılandırma dosyasında çok sayıda CustomLog yönergesi kullanarak çok + sayıda erişim günlüğü kolayca oluşturulabilir. Örneğin aşağıdaki + yönergelerle 3 tane erişim günlüğü oluşturulacaktır. İlki temel OGB + bilgisini içerirken diğer ikisi isteğin kaynaklandığı yeri ve tarayıcı + kimliğini içerir. Son iki CustomLog satırı ayrıca, ReferLog ve + AgentLog yönergelerinin etkilerinin nasıl taklit + edileceğini de göstermektedir.

+ +
LogFormat "%h %l %u %t \"%r\" %>s %b" common
+CustomLog logs/access_log common
+CustomLog logs/referer_log "%{Referer}i -> %U"
+CustomLog logs/agent_log "%{User-agent}i"
+ + +

Bu örnek ayrıca, LogFormat yönergesi ile bir takma ad tanımlamanın şart + olmadığını da göstermektedir. Günlük biçemi doğrudan CustomLog yönergesinde + belirtilebilir.

+ + +

Şarta Bağlı Günlükler

+ + +

Bazı durumlarda istemcinin yaptığı isteğe bağlı olarak erişim + günlüğünde belli girdilerin dışlanması gerekebilir. Bu, ortam değişkenleri sayesinde kolayca yerine + getirilebilir. Önce isteğin belli koşulları sağladığını belirten bir + ortam değişkeni ataması yapılır. Bu işlem SetEnvIf yönergesi ile yapılır. + Sonra da, ortam değişkenine bağlı olarak isteklerin günlüğe dahil + edilip edilmeyeceği CustomLog yönergesinin + env= deyimi kullanılarak belirtilir. Bazı örnekler:

+ +
# yerel konaktan kaynaklanan istekleri imleyelim
+SetEnvIf Remote_Addr "127\.0\.0\.1" kaydetme
+# robots.txt dosyası isteklerini imleyelim
+SetEnvIf Request_URI "^/robots\.txt$" kaydetme
+# Kalanları günlüğe kaydedelim
+CustomLog logs/access_log common env=!kaydetme
+ + +

Başka bir örnek olarak, Türkçe belge isteklerini bir dosyaya diğer + dillerdeki istekleri başka bir dosyaya kaydedelim.

+ +
SetEnvIf Accept-Language "tr" turkce
+CustomLog logs/turkce_log common env=turkce
+CustomLog logs/diger_diller_log common env=!turkce
+ + +

Bir arabellekleme senaryosuna arabelleğin verimli kullanılıp + kullanılmadığını bilmek isteyelim. Bu basitçe şöyle yapılabilir:

+ +
SetEnv CACHE_MISS 1
+LogFormat "%h %l %u %t "%r " %>s %b %{CACHE_MISS}e" common-cache
+CustomLog logs/access_log common-cache
+ + +

mod_cache önce mod_env modülünü + çalıştıracak ve başarılı olunduğu takdirde içeriği onsuz teslim + edecektir. Bu durumda arabellek kaybı 1 olarak + günlüklenirken arabellek sunumu - olarak + günlüklenecektir.

+ +

env= sözdizimine ek olarak, LogFormat HTTP yanıt kodudaki koşul + değerlerini günlüklemeyi de destekler:

+ +
LogFormat "%400,501{User-agent}i" browserlog
+LogFormat "%!200,304,302{Referer}i" refererlog
+ + +

Bu örnekte, HTTP durum kodu 400 veya 501 ise User-agent + başlığı günlüklenecektir. Aksi takdirde, günlüğe bir "-" yazılacaktır. + Benzer şekilde ikinci örnekte, HTTP durum kodu 200, 304 veya 302 + değilse (durum kodlarının öncesindeki "!" imine + dikkat) Referer başlığı günlüklenecektir.

+ +

Koşula bağlı günlük kaydının çok esnek ve güçlü olabileceğini + göstermiş olsak da günlük içeriğini denetlemenin tek yolu bu değildir. + Günlük dosyaları sunucu etkinliğini eksiksiz olarak kaydedebildikleri + takdirde daha yararlı olurlar. Günlük dosyalarını sonradan işleme tabi + tutarak istenmeyen girdileri kaldırılmış bir kopya almak hem kolay hem + de daha yararlıdır.

+ +
top
+
+

Günlük Çevrimi

+ + +

Yükü ağır sunucularda günlük dosyalarına kaydedilen bilginin miktarı + çok büyük boyutlara ulaşabilir. 10.000 istek içeren bir erişim günlüğü + yaklaşık 1MB yer kaplar. Etkin günlük dosyasını belirli aralıklarla + değiştirmek veya silmek gerekebilir. Apache httpd çalışırken dosyayı sürekli + açık tuttuğu ve yazdığı için bu işlem sunucu çalışırken yapılamaz. Bu + bakımdan, günlük dosyası değiştirildikten veya silindikten sonra yeni + dosyanın açılması için sunucunun yeniden + başlatılması gerekir.

+ +

Nazikçe yeniden başlatmak + suretiyle sunucunun, mevcut ve bekleyen bağlantıları kaybetmeden yeni + günlük dosyalarını açması sağlanabilir. Bununla birlikte, bu işlem + sırasında sunucunun eski isteklere sunumu bitirene kadar eski günlük + dosyalarına yazmaya devam edebilmesi gerekir. Bu bakımdan, yeniden + başlatmanın ardından eski günlük dosyaları üzerinde bir işlem yapmadan + önce biraz beklemek gerekir. Günlük dosyalarını döndürürken kullanılan + senaryolarda genellikle eski günlük dosyaları yer kazanmak için + sıkıştırılırlar:

+ +

+ mv access_log access_log.old
+ mv error_log error_log.old
+ apachectl graceful
+ sleep 600
+ gzip access_log.old error_log.old +

+ +

Günlük çevrimi yapmanın başka bir yolu da sonraki bölümde açıklandığı + gibi borulu günlükler kullanmaktır.

+
top
+
+

Borulu Günlükler

+ + +

Apache httpd hata ve erişim günlüklerini doğrudan bir dosyaya yazmak + yerine bir boru üzerinden başka bir sürece yazabilir. Bu yetenek ana + sunucuya herhangi bir kod eklemeksizin günlükleme esnekliğini şaşırtıcı + derecede arttırır. Günlükler boruya yazılmak istenirse dosya ismini boru + karakteriyle ("|") değiştirip ardına günlük girdilerini + standart girdisinden kabul edecek programın ismini eklemek yeterlidir. + Apache httpd başlatıldığı zaman borulu günlük işlemini de + başlatacaktır. Eğer sunucu çalışırken günlükleri kabul eden süreç + çökerse Apache httpd bu programı yeniden başlatır. (Bu son özelliği + sebebiyle bu tekniğe “güvenilir borulu günlükleme” adını veriyoruz.)

+ +

Borulu günlük süreçleri ana Apache httpd süreci tarafından başlatılır + ve bu süreçler ana Apache httpd sürecinin kullanıcı kimliğini miras + alırlar. Yani borulu günlükleme programları aslında root tarafından + çalıştırılmış gibi olur. Bu bakımdan, bu programları basit ve güvenilir + kılmak çok önemlidir.

+ +

Borulu günlüklerin önemli kullanım alanlarından biri de sunucuyu + yeniden başlatmak gerekmeksizin günlük çevrimini mümkün kılmaktır. + Apache HTTP sunucusu bu amaçla kullanılmak üzere + rotatelogs diye bir program içerir. Örneğin, + günlükleri 24 saatte bir döndürmek isterseniz bunu şöyle + yapabilirsiniz:

+ +
CustomLog "|/usr/local/apache/bin/rotatelogs /var/log/access_log 86400" common
+ + +

Borunun diğer ucundaki süreci başlatacak komutun tırnak içine + alındığına dikkat ediniz. Bu örnekler erişim günlüğü için verilmişse de + aynı teknik hata günlüğü için de kullanılabilir.

+ +

Hariçten bir uygulama olarak cronolog isminde buna benzer ancak + çok daha esnek bir program daha vardır.

+ +

Borulu günlükler de şarta bağlı günlükleme kadar güçlü olmakla beraber + çevrimdışı ardıl işlemler gibi daha basit çözümler için + kullanılmamalıdır.

+ +

Öntanımlı olarak borulu günlük süreci bir kabuk kullanmadan + çalıştırılır. Kabuk kullanarak (genelde /bin/sh -c ile) + yapılmak istenirse "|" yerine "|$" + kullanılır:

+ +
# Kabuk kullanarak "rotatelogs" çalıştırmak
+CustomLog "|$/usr/local/apache/bin/rotatelogs /var/log/access_log 86400" common
+ + +

Bu, Apache 2.2 için öntanımlı davranıştı. Kabuk özelliklerine bağlı + olarak, yeniden başlatma sırasındaki sinyal işleme sorunları ve günlük + borulama uygulamasının yaşam süresi için ek bir kabuk süreci ile + sonuçlanabilir. Apache 2.2 ile uyumluluk açısından "||" + gösterimi de desteklenmekte olup "|" kullanımına + eşdeğerdir.

+ +

Windows'ta yığın alanı

+

Windows'ta çok sayıda borulu günlükleme süreci çalışırken ve özellikle + HTTPD bir hizmet olarak çalışıyorsa sorunlar baş gösterebilir. Bunun + başlıca sebebi masaüstü yığın alanının (heap) dışına taşılmasıdır. Her + hizmete ayrılan masüstü yığın alanı, kayıt defterindeki + HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\SubSystems\Windows + kaydındaki üçüncü değiştirge olan SharedSection + değeridir. Bu değeri değiştirirken çok dikkatli olun; + bu, Windows kayıt defterini değiştirirken verilen normal + uyarılardandır, fakat eğer bu değer çok yüksek olursa masaüstü yığın + alanının tükenebileceği dikkate alınmalıdır.

+
+
top
+
+

Sanal Konaklar

+ + +

Bir sunucu çok sayıda sanal konak ile hizmet + sunarken bunların günlük kayıtları için çeşitli seçenekler mevcuttur. + İlk seçenekte, sanki sunucu tek bir konakla hizmet sunuyormuş gibi + günlük kaydı yapılır. Günlükleme yönergelerini <VirtualHost> bölümlerinin dışına, ana sunucu + bağlamına yerleştirerek tüm isteklerin aynı erişim ve hata günlüğüne + yazılmasını sağlamak olasıdır. Bu teknik, tek tek sanal konaklar için + kolayca istatistik toplamaya izin vermez.

+ +

Eğer CustomLog + veya ErrorLog yönergesi bir + <VirtualHost> bölümüne + yerleştirilirse bu sanal konağa bütün erişimler veya hatalar belirtilen + dosyaya günlüklenecektir. Böyle günlükleme yönergeleri içermeyen sanal + konakların günlükleri hala ana sunucunun hata ve erişim günlüklerine + yazılmaya devam edecektir. Bu teknik az sayıda sanal konak barındıran + sunucular için çok kullanışlıdır. Fakat sanal konak sayısı çok fazlaysa + bu teknikle günlük dosyalarını yönetmek çok karmaşık bir hal alabilir. + Ayrıca, yetersiz dosya tanıtıcısı + sorunlarıyla çok sık karşılaşılabilir.

+ +

Erişim günlükleri için çok az bir fedakarlıkla çok iyi bir çözüm vardır. + Günlük biçemine sanal konaklarla ilgili bilgi eklemek suretiyle tüm + konakların aynı günlük dosyasını kullanmaları olasıdır. Böylece günlük + dosyası sonradan her sanal konak için ayrı bir dosya oluşturmak üzere + ayrıştırılabilir. Örneğin, bu işlem için şu yönergeler kullanılıyor + olsun:

+ +
LogFormat "%v %l %u %t \"%r\" %>s %b" ortaksankon
+CustomLog logs/access_log ortaksankon
+ + +

%v belirteci isteği sunan sanal konağın ismini günlüğe + yazmak için kullanılır. Daha sonra split-logfile gibi bir program + kullanarak, bu dosyadan her sanal konak için ayrı birer dosya elde + edilebilir.

+
top
+
+

Diğer Günlük Dosyaları

+ + + + +

Gönderilen ve alınan bayt sayısının günlüklenmesi

+ + +

mod_logio modülü LogFormat yönergesinde kullanılan + biçem belirteçlerine alınan ve gönderilen bayt sayıları için iki + belirteç (%I ve %O) ekler.

+ + +

Adli Günlük

+ + +

mod_log_forensic modülü istemci isteklerinin kanıt + olarak kullanılmak amacıyla günlüklenmesini sağlar. Günlükleme her + istek için isteğe hizmet sunmadan önce ve sonra olmak üzere iki defa + yapılır. Böylece günlük dosyasında başarılı her istek için iki satır + bulunur. Adli günlükleme çok sıkı kurallara tabi olup + kişiselleştirilemez. Güvenlik ve hata ayıklama aracı olarak yararlı + değildir.

+ + +

PID Dosyası

+ + +

Apache httpd başlatıldığında, ana httpd sürecinin kimliği (PID) + logs/httpd.pid dosyasına kaydedilir. Bu dosyanın ismi + PidFile yönergesi ile + değiştirilebilir. Bu süreç kimliği sistem yöneticisi tarafından ana + sürece sinyal göndererek artalan sürecini sonlandırmak veya yeniden + başlatmak için kullanılır. Windows üzerinde bu işlem için + -k komut satırı seçeneği kullanılır. Bu konuda daha + ayrıntılı bilgi edinmek için Durdurma ve + Yeniden Başlatma belgesine bakınız.

+ + +

Betik Günlüğü

+ + +

ScriptLog yönergesi CGI + betiklerinin girdi ve çıktılarını kaydetmenizi mümkün kılmak suretiyle + hata ayıklamaya yardımcı olur. Bu sadece deneysel amaçla kullanılmalı, + asıl sunucuya uygulanmamalıdır. mod_cgi + belgesinde daha fazla bilgi bulunabilir.

+ +
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file -- cgit v1.2.3