diff options
Diffstat (limited to 'rubbos/app/httpd-2.0.64/docs/manual/logs.html.tr.utf8')
-rw-r--r-- | rubbos/app/httpd-2.0.64/docs/manual/logs.html.tr.utf8 | 557 |
1 files changed, 0 insertions, 557 deletions
diff --git a/rubbos/app/httpd-2.0.64/docs/manual/logs.html.tr.utf8 b/rubbos/app/httpd-2.0.64/docs/manual/logs.html.tr.utf8 deleted file mode 100644 index 46cea7f3..00000000 --- a/rubbos/app/httpd-2.0.64/docs/manual/logs.html.tr.utf8 +++ /dev/null @@ -1,557 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head><!-- - XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - This file is generated from xml source: DO NOT EDIT - XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - --> -<title>Günlük Dosyaları - Apache HTTP Sunucusu</title> -<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> -<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> -<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> -<link href="./images/favicon.ico" rel="shortcut icon" /></head> -<body id="manual-page"><div id="page-header"> -<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p> -<p class="apache">Apache HTTP Sunucusu Sürüm 2.0</p> -<img alt="" src="./images/feather.gif" /></div> -<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> -<div id="path"> -<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.0</a></div><div id="page-content"><div id="preamble"><h1>Günlük Dosyaları</h1> -<div class="toplang"> -<p><span>Mevcut Diller: </span><a href="./en/logs.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="./es/logs.html" hreflang="es" rel="alternate" title="Español"> es </a> | -<a href="./ja/logs.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/logs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | -<a href="./tr/logs.html" title="Türkçe"> tr </a></p> -</div> - - <p>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.</p> - </div> -<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#security">Güvenlik Uyarısı</a></li> -<li><img alt="" src="./images/down.gif" /> <a href="#errorlog">Hata Günlüğü</a></li> -<li><img alt="" src="./images/down.gif" /> <a href="#accesslog">Erişim Günlüğü</a></li> -<li><img alt="" src="./images/down.gif" /> <a href="#rotation">Günlük Çevrimi</a></li> -<li><img alt="" src="./images/down.gif" /> <a href="#piped">Borulu Günlükler</a></li> -<li><img alt="" src="./images/down.gif" /> <a href="#virtualhost">Sanal Konaklar</a></li> -<li><img alt="" src="./images/down.gif" /> <a href="#other">Diğer Günlük Dosyaları</a></li> -</ul></div> -<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> -<div class="section"> -<h2><a name="security" id="security">Güvenlik Uyarısı</a></h2> - - - <p>Apache’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 <em>hiç - kimseye</em> yazma erişimi vermeyin; ayrıntılı bilgi için <a href="misc/security_tips.html">güvenlik ipuçları</a> belgesine - bakınız.</p> - - <p>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.</p> - </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> -<div class="section"> -<h2><a name="errorlog" id="errorlog">Hata Günlüğü</a></h2> - - - <table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td /><td><ul><li><code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code></li><li><code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code></li></ul></td></tr></table> - - <p>İsmi ve yeri <code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code> 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.</p> - - <p>Hata günlüğü normal olarak bir dosyaya yazılır (genellikle, dosyanın - ismi Unix sistemlerinde <code>error_log</code>, Windows ve OS/2’de ise - <code>error.log</code>’dur). Ayrıca, Unix sistemlerinde sunucunun - hataları <code>syslog</code>’a veya <a href="#piped">borulamak suretiyle - bir programa</a> aktarması da mümkündür.</p> - - <p>Hata günlüğünün biçemi anlaşılır olup içeriği kısmen serbestçe - belirlenir. Çoğu hata günlüğü girdisinde bulunan belli başlı bilgiler - vardır. Örnek tipik bir hata iletisi içermektedir:</p> - - <div class="example"><p><code> - [Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1] - client denied by server configuration: - /export/home/live/ap/htdocs/test - </code></p></div> - - <p>Günlük girdisinin ilk öğesi iletinin yazıldığı tarih ve saatten oluşur. - İkinci öğe raponlanan bilginin önem derecesini belirtir. Hata günlüğüne - gönderilecek hata türlerinin önem seviyesini belirlemek için <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> yönergesi kullanılır. Üçüncü öğe - hatanın üretilmesine sebep olan istemcinin IP adresini içerir. Kalanı - iletinin kendisidir (duruma bakılırsa sunucu istemci erişimini reddetmek - üzere yapılandırılmış). Sunucu istenen belgenin (belge yolunu değil) - dosya sistemindeki yolunu raporlamıştır.</p> - - <p>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 (<code>stderr</code>) yazılan her türlü bilgi doğrudan hata - günlüğüne kopyalanır.</p> - - <p>Hata günlüğünü bilgi ekleyerek veya kaldırarak kişiselleştirmek - mümkündür. Bununla birlikte, hata günlüğü girdilerinin ilgili olduğu - isteklerin <a href="#accesslog">erişim günlüğünde</a> de girdileri - vardır. Örneğin, yukarıdaki girdi, erişim günlüğünde 403 durum kodlu bir - girdiyle ilgilidir. Erişim günlüğünü de kişiselleştirmek mümkün - olduğundan hata durumlarında bu günlük dosyasını da kullanarak daha - fazla bilgi sağlayabilirsiniz.</p> - - <p>Sunucuyu denerken olası sorunlara karşı hata günlüğünü sürekli - izlemelisiniz. Unix sistemlerinde bunu şöyle bir komutla - sağlayabilirsiniz:</p> - - <div class="example"><p><code> - tail -f error_log - </code></p></div> - </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> -<div class="section"> -<h2><a name="accesslog" id="accesslog">Erişim Günlüğü</a></h2> - - - <table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li></ul></td></tr></table> - - <p>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 <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesi ile belirlenir. - <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> 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.</p> - - <p>Şüphesiz, 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. - Bu konu ve günlük incelemesi yapan uygulamalar hakkında daha ayrıntılı - bilgi edinmek için <a href="http://dmoz.org/Computers/Software/Internet/Site_Management/Log_analysis/">dmoz.org</a> veya <a href="http://dir.yahoo.com/Computers_and_Internet/Software/Internet/World_Wide_Web/Servers/Log_Analysis_Tools/">Yahoo</a>’ya bakınız.</p> - - <p>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 <code>TransferLog</code> yönergesi - sayılabilir. Artık, daha eski tüm diğer yönergelerin işlevselliklerini - bir araya toplayan <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesi kullanılmaktadır.</p> - - <p>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 <code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code> belgesinin <a href="mod/mod_log_config.html#formats">Günlük Girdilerinin - Kişiselleştirilmesi</a> bölümüne bakınız.</p> - - <h3><a name="common" id="common">Ortak Günlük Biçemi (OGB)</a></h3> - - - <p>Erişim günlüğü için sıklıkla kullanılan bir yapılandırma:</p> - - <div class="example"><p><code> - LogFormat "%h %l %u %t \"%r\" %>s %b" common<br /> - CustomLog logs/access_log common - </code></p></div> - - <p>İlk satırda belli bir biçem dizgesi için <code>common</code> diye bir - <em>takma ad</em> 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 - "<code>\n</code>" ve sekmeleri belirtmek için "<code>\t</code>" - denetim karakterlerini de içerebilir.</p> - - <p><code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesi - evvelce tanımlanmış bir <em>takma adı</em> 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 <code class="directive"><a href="./mod/core.html#serverroot">ServerRoot</a></code> değerine göreli olduğu varsayılır.</p> - - <p>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:</p> - - <div class="example"><p><code> - 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET - /apache_pb.gif HTTP/1.0" 200 2326 - </code></p></div> - - <p>Bu günlük girdisini parça parça açıklayalım:</p> - - <dl> - <dt><code>127.0.0.1</code> (<code>%h</code>)</dt> - - <dd>Bu, sunucuya istek yapan istemcinin (uzak konağın) IP adresidir. - Eğer <code class="directive"><a href="./mod/core.html#hostnamelookups">HostnameLookups</a></code> - yönergesine <code>On</code> 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 <code class="program"><a href="./programs/logresolve.html">logresolve</a></code> 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.</dd> - - <dt><code>-</code> (<code>%l</code>)</dt> - - <dd>Çıktıdaki bir "tire" imi istenen bilgi parçasının mevcut olmadığı - anlamına gelir. Bu durumda, mevcut olmayan bilgi istemci makine - üzerinde <code>identd</code> 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, - <code class="directive"><a href="./mod/core.html#identitycheck">IdentityCheck</a></code> yönergesine - <code>On</code> değeri atanmış olmadıkça bu bilgiyi saptamaya - uğraşmaz.</dd> - - <dt><code>frank</code> (<code>%u</code>)</dt> - - <dd>Bu, belge isteğinde bulunan kişinin HTTP kimlik doğrulamasıyla - saptanan kullanıcı kimliğidir. Bu değer CGI betiklerine - <code>REMOTE_USER</code> 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 - "<code>-</code>" olacaktır.</dd> - - <dt><code>[10/Oct/2000:13:55:36 -0700]</code> - (<code>%t</code>)</dt> - - <dd>İsteğin alındığı tarih ve saat. Biçemi şöyledir: - - <p class="indent"> - <code>[gün/ay/yıl:saat:dakika:saniye dilim]<br /> - gün = 2 hane<br /> - ay = 3 harf<br /> - yıl = 4 hane<br /> - saat = 2 hane<br /> - dakika = 2 hane<br /> - saniye = 2 hane<br /> - dilim = (`+' | `-') 4 hane</code> - </p> - Günlük biçem dizgesinde zaman gösterim biçemini - <code>%{<em>biçem</em>}t</code> şeklinde belirtmek de mümkündür. - Buradaki <code><em>biçem</em></code> dizgesi, stardart C - kütüphanesindeki <code>strftime(3)</code> işlevi için tanımlanmış - biçem belirteçleriyle oluşturulabilir. - </dd> - - <dt><code>"GET /apache_pb.gif HTTP/1.0"</code> - (<code>\"%r\"</code>)</dt> - - <dd>İ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 - <code>GET</code>’miş. İkinci olarak istemci - <code>/apache_pb.gif</code> dosyasını istemiş ve üçüncü olarak - istemci <code>HTTP/1.0</code> 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, - "<code>%m %U%q %H</code>" dizgesi, yöntem, yol, sorgu dizgesi ve - protokolü kaydedecektir; bu dizge "<code>%r</code>" biçem - belirtecinin tek başına yaptığı işi yapar.</dd> - - <dt><code>200</code> (<code>%>s</code>)</dt> - - <dd>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 <a href="http://www.w3.org/Protocols/rfc2616/rfc2616.txt">RFC2616 Hiper - Metin Aktarım Protokolü</a>nün 10. bölümünde bulunabilir.</dd> - - <dt><code>2326</code> (<code>%b</code>)</dt> - - <dd>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 - "<code>-</code>" olacaktır. Bunun yerine günlüğe "<code>0</code>" - yazdırmak için <code>%B</code> belirtecini kullanınız.</dd> - </dl> - - - <h3><a name="combined" id="combined">Birleşik Günlük Biçemi</a></h3> - - - <p>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:</p> - - <div class="example"><p><code> - LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" - \"%{User-agent}i\"" combined<br /> - CustomLog log/access_log combined - </code></p></div> - - <p>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 <code>%{<em>başlık</em>}i</code> - biçeminde olup buradaki <code><em>başlık</em></code>, HTTP isteğindeki - başlık alanlarından biridir. Bu biçemin kullanıldığı bir erişim - günlüğü girdisi şöyle olurdu:</p> - - <div class="example"><p><code> - 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)" - </code></p></div> - - <p>Ek alanlar:</p> - - <dl> - <dt><code>"http://www.example.com/start.html"</code> - (<code>\"%{Referer}i\"</code>)</dt> - - <dd>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.)</dd> - - <dt><code>"Mozilla/4.08 [en] (Win98; I ;Nav)"</code> - (<code>\"%{User-agent}i\"</code>)</dt> - - <dd>Tarayıcı kimliğini içeren HTTP istek başlığı. Bu istemcinin - tarayıcısının raporladığı kendi tanıtım bilgisidir.</dd> - </dl> - - - <h3><a name="multiple" id="multiple">Çok Sayıda Erişim Günlüğü</a></h3> - - - <p>Yapılandırma dosyasında çok sayıda <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> 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 <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> satırı ayrıca, <code>ReferLog</code> ve - <code>AgentLog</code> yönergelerinin etkilerinin nasıl taklit - edileceğini de göstermektedir.</p> - - <div class="example"><p><code> - LogFormat "%h %l %u %t \"%r\" %>s %b" common<br /> - CustomLog logs/access_log common<br /> - CustomLog logs/referer_log "%{Referer}i -> %U"<br /> - CustomLog logs/agent_log "%{User-agent}i" - </code></p></div> - - <p>Bu örnek ayrıca, <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> yönergesi ile bir takma ad tanımlamanın şart - olmadığını da göstermektedir. Günlük biçemi doğrudan <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesinde - belirtilebilir.</p> - - - <h3><a name="conditional" id="conditional">Şarta Bağlı Günlükler</a></h3> - - - <p>Bazı durumlarda istemcinin yaptığı isteğe bağlı olarak erişim - günlüğünde belli girdilerin dışlanması gerekebilir. Bu, <a href="env.html">ortam değişkenleri</a> 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 <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> yönergesi ile yapılır. - Sonra da, ortam değişkenine bağlı olarak isteklerin günlüğe dahil - edilip edilmeyeceği <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesinin - <code>env=</code> deyimi kullanılarak belirtilir. Bazı örnekler:</p> - - <div class="example"><p><code> - # yerel konaktan kaynaklanan istekleri imleyelim<br /> - SetEnvIf Remote_Addr "127\.0\.0\.1" kaydetme<br /> - # robots.txt dosyası isteklerini imleyelim<br /> - SetEnvIf Request_URI "^/robots\.txt$" kaydetme<br /> - # Kalanları günlüğe kaydedelim<br /> - CustomLog logs/access_log common env=!kaydetme - </code></p></div> - - <p>Başka bir örnek olarak, Türkçe belge isteklerini bir dosyaya diğer - dillerdeki istekleri başka bir dosyaya kaydedelim.</p> - - <div class="example"><p><code> - SetEnvIf Accept-Language "tr" turkce<br /> - CustomLog logs/turkce_log common env=turkce<br /> - CustomLog logs/diger_diller_log common env=!turkce - </code></p></div> - - <p>Şarta 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.</p> - - </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> -<div class="section"> -<h2><a name="rotation" id="rotation">Günlük Çevrimi</a></h2> - - - <p>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 ç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 <a href="stopping.html">sunucunun yeniden - başlatılması</a> gerekir.</p> - - <p><a href="stopping.html#graceful">Nazikçe yeniden başlatmak</a> - 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:</p> - - <div class="example"><p><code> - mv access_log access_log.old<br /> - mv error_log error_log.old<br /> - apachectl graceful<br /> - sleep 600<br /> - gzip access_log.old error_log.old - </code></p></div> - - <p>Günlük çevrimi yapmanın başka bir yolu da sonraki bölümde açıklandığı - gibi <a href="#piped">borulu günlükler</a> kullanmaktır.</p> - </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> -<div class="section"> -<h2><a name="piped" id="piped">Borulu Günlükler</a></h2> - - - <p>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 ("<code>|</code>") değiştirip ardına günlük girdilerini - standart girdisinden kabul edecek programın ismini eklemek yeterlidir. - Apache sunucusu 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 bu programı yeniden başlatır. (Bu son özelliği sebebiyle - bu tekniğe “güvenilir borulu günlükleme” adını veriyoruz.)</p> - - <p>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.</p> - - <p>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 - <code class="program"><a href="./programs/rotatelogs.html">rotatelogs</a></code> diye bir program içerir. Örneğin, - günlükleri 24 saatte bir döndürmek isterseniz bunu şöyle - yapabilirsiniz:</p> - - <div class="example"><p><code> - CustomLog "|/usr/local/apache/bin/rotatelogs - /var/log/access_log 86400" common - </code></p></div> - - <p>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.</p> - - <p>Hariçten bir uygulama olarak <a href="http://www.cronolog.org/">cronolog</a> isminde buna benzer ancak - çok daha esnek bir program daha vardır.</p> - - <p>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.</p> - </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> -<div class="section"> -<h2><a name="virtualhost" id="virtualhost">Sanal Konaklar</a></h2> - - - <p>Bir sunucu çok sayıda <a href="vhosts/">sanal konak</a> 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 <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code> 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.</p> - - <p>Eğer <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> - veya <code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code> yönergesi bir - <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code> 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, <a href="vhosts/fd-limits.html">yetersiz dosya tanıtıcısı</a> - sorunlarıyla çok sık karşılaşılabilir.</p> - - <p>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:</p> - - <div class="example"><p><code> - LogFormat "%v %l %u %t \"%r\" %>s %b" - ortaksankon<br /> - CustomLog logs/access_log ortaksankon - </code></p></div> - - <p><code>%v</code> belirteci isteği sunan sanal konağın ismini günlüğe - yazmak için kullanılır. Daha sonra <a href="programs/other.html">split-logfile</a> gibi bir program - kullanarak, bu dosyadan her sanal konak için ayrı birer dosya elde - edilebilir.</p> - </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> -<div class="section"> -<h2><a name="other" id="other">Diğer Günlük Dosyaları</a></h2> - - - <table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritelog">RewriteLog</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriteloglevel">RewriteLogLevel</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlog">ScriptLog</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptloglength">ScriptLogLength</a></code></li></ul></td></tr></table> - - <h3><a name="pidfile" id="pidfile">PID Dosyası</a></h3> - - - <p>Apache httpd başlatıldığında, ana httpd sürecinin kimliği (PID) - <code>logs/httpd.pid</code> dosyasına kaydedilir. Bu dosyanın ismi - <code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code> 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 - <code>-k</code> komut satırı seçeneği kullanılır. Bu konuda daha - ayrıntılı bilgi edinmek için <a href="stopping.html">Durdurma ve - Yeniden Başlatma</a> belgesine bakınız.</p> - - - <h3><a name="scriptlog" id="scriptlog">Betik Günlüğü</a></h3> - - - <p><code class="directive"><a href="./mod/mod_cgi.html#scriptlog">ScriptLog</a></code> 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. <a href="mod/mod_cgi.html">mod_cgi</a> - belgesinde daha fazla bilgi bulunabilir.</p> - - - <h3><a name="rewritelog" id="rewritelog">Yeniden Yazım Günlüğü</a></h3> - - - <p>Güçlü ve karmaşık <a href="mod/mod_rewrite.html">mod_rewrite</a> - özellikleri kullanılırken, hata ayıklamaya yardımcı olmak için - <code class="directive"><a href="./mod/mod_rewrite.html#rewritelog">RewriteLog</a></code> yönergesini - kullanmak gerekebilir. Yönerge, günlük dosyasında yeniden yazım - motorunun istekleri nasıl dönüştürdüğüyle ilgili ayrıntılı bir döküm - üretir. Ayrıntı seviyesi <code class="directive"><a href="./mod/mod_rewrite.html#rewriteloglevel">RewriteLogLevel</a></code> yönergesi ile belirlenir.</p> - - </div></div> -<div class="bottomlang"> -<p><span>Mevcut Diller: </span><a href="./en/logs.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="./es/logs.html" hreflang="es" rel="alternate" title="Español"> es </a> | -<a href="./ja/logs.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | -<a href="./ko/logs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | -<a href="./tr/logs.html" title="Türkçe"> tr </a></p> -</div><div id="footer"> -<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> -<p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div> -</body></html>
\ No newline at end of file |