我要投稿 投訴建議

默認的Apache日志文件

時間:2021-03-30 13:18:24 日志日記 我要投稿

關于默認的Apache日志文件

  關于默認的Apache日志文件

關于默認的Apache日志文件

  Apache提供很多檢測和日志工具來追蹤服務器的正確運行。默認的Apache配置提供兩個日志文件,放置在安裝目錄下的日志目錄里面。access_log這個文件(在windows下對應access.log文件)包含了服務器已經(jīng)處理過的請求的信息,比如說請求的URL,客戶端的IP地址,請求是否被成功完成等。error_log 這個文件(在windows下對應error.log文件)包含了與錯誤情況相關的信息,以及服務器生命周期中不同的大事件。

  創(chuàng)建日志格式

  LogFormat "%h %l %u %t "%r" %>s %b" common

  LogFormat "%h %l %u %t "%r" %>s %b"

  "%{Referer}i" "%{User-agent}i"" combined

  LogFormat指令允許你告訴Apache你想要記錄請求的哪些方面。而你仍需附加的指令來告訴Apache在哪里記錄那些信息,這在下一章中將會介紹。下面的例子顯示了兩種最受歡迎的格式的配置:普通日志格式和整合日志格式。當Apache收到一個請求,他將會用相應的請求屬性來替代以%為前綴的每一個域。如果您正在使用普通日志格式,您的日志文件里的每一項輸入看起來都將是這樣的:

  192.168.200.4 - someuser [12/Jun/2005:08:33:34

  +0500] "GET /example.png HTTP/1.0" 200 1234

  如果您正在使用整合日志格式,您的日志文件里的每一項輸入看起來則都將是這樣的:

  192.168.200.4 - someuser [12/Jun/2005:08:33:34

  +0500] "GET /example.png HTTP/1.0" 200 1234

  / "Mozilla/5.0

  (Windows; U; Windows NT 5.1; en-US; rv:1.7.7)"盡管有附件提供日志格式的詳盡索引,下表描述了一些最為重要的域:

  # %h: 客戶端(例如,瀏覽器)向服務器發(fā)出連接請求時自己的當時的IP地址或域名(需開啟HostNameLookups)。

  # %u: 使用HTTP方式認證用戶時,記錄下的用戶的編號。

  # %t: 服務器接受到連接請求的時間。

  # %r: 客戶端發(fā)出的原始連接請求中的文本信息,包含所使用的HTTP方法。

  # %>s: 服務器應答瀏覽器后的返回狀態(tài)代碼,200表示請求成功。.

  # %b: 服務器應答瀏覽器發(fā)出的單個請求的回傳對象的內容大小(字節(jié)為單位),不統(tǒng)計數(shù)據(jù)包頭部字節(jié)。

  整合日志格式在普通日志格式的基礎上擴展出了兩個附加的域。定義為:

  # %{Referer}i: 連接請求數(shù)據(jù)包包頭,包含指向當前頁面的文檔關聯(lián)信息。

  # %{User-agent}i: 用戶代理連接請求數(shù)據(jù)包包頭,包含客戶瀏覽器的信息。

  創(chuàng)建一個自定義日志文件

  CustomLog logs/access_log common

  TransferLog logs/sample.log您可能會想創(chuàng)建Apache自帶以外的新的日志文件。下面的例子將運用CustomLog來創(chuàng)建一個新的日志文件,并保存由一個之前定義好的日志格式,即前一章提到的common,所定義的信息。您還可以用格式本身的定義來替換昵稱。一個附加的,更為簡單的指令是Transferlog,它只接受最后一個LogFormat指令提供的定義。


  延伸閱讀:

  重導向日志到一個外部的程序

  TransferLog "|bin/rotatelogs /var/logs/apachelog

  86400"你也可以用CustomLog或TransferLog將日志的輸出重導向(輸出)到一個外部的.程序,而不是一個文件。要做到這一點,首先您需要以輸出字符"|"開頭,跟著是接收日志標準輸入信息的程序之路經(jīng)。本例運用Apache自帶的rotatelogs程序,在稍后的章節(jié)中會對其有所介紹。

  當有一個外部程序被使用,它將作為啟動mon env=!image

  SetEnvIf Remote_Addr 192.168.200.5 specialmachine

  CustomLog logs/special_access_log common env=specialmachine你可以根據(jù)可變的環(huán)境決定是否記錄一個請求。這種可變可以根據(jù)許多參數(shù),比如客戶端的IP地址或請求中某個頭部的存在,事先設置好。正如本例中所顯示,CustomLog指令可以將可變的環(huán)境作為第三個參數(shù)來接受。如果存在可變的環(huán)境,它就將被記錄,否則就不會。如果這個可變的環(huán)境被一個"!"開頭否定,那么不存在可變的環(huán)境將會被記錄。本例將告訴您如何避免在日志里以GIF和JPEG的格式記錄圖像,及如何從一個特定的IP地址記錄請求道一個單獨的日志文件。另一個例子請參加下一節(jié)。


  誰在連接你的網(wǎng)站

  SetEnvIfNoCase Refererinternalreferral

  LogFormat "%{Referer}i -> %U" referer

  CustomLog logs/referer.log referer env=!internalreferral可以通過記錄Referer的值來檢測哪些人連接了你的網(wǎng)站,Referer變量位于用戶發(fā)送連接請求數(shù)據(jù)包的頭部,數(shù)據(jù)包頭中還包含了用戶訪問的目的網(wǎng)站的URL地址。通過這種方法可以記錄下絕大部分網(wǎng)站訪問者。也可以把來自特定網(wǎng)站()地址段的來訪者排除出日志記錄文件。

  利用模塊參數(shù)(mod_status)來監(jiān)視Apache服務器

  SetHandler server-status

  Order Deny,Allow

  Deny from all

  Allow from 192.168.0

  Apache服務器中可以使用的功能模塊很多,有服務器內置的也有外掛的,這些模塊工作的狀態(tài)和性能就是通過mod_status參數(shù)來記錄的,記錄的內容有“哪些模塊參與了網(wǎng)站應答服務、哪些模塊處于空閑狀態(tài)、服務器的開啟/關閉時間。正在處理的連接請求數(shù)和訪問者數(shù)量(需要指定ExtendedStatus記號)-該模塊記錄對高負荷網(wǎng)站服務器性能有很大影響”。例子中記錄的模塊狀態(tài)統(tǒng)計結果可以用瀏覽器訪問/server-status頁面來查看。


  通過SNMP協(xié)議來監(jiān)視Apache服務器

  SNMP是簡單網(wǎng)管協(xié)議,支持SNMP的服務器或網(wǎng)絡設備可以被OpenView、Tivoli等網(wǎng)管軟件統(tǒng)一管理,目前有很多開源的SNMP模塊可以加裝到Apache網(wǎng)站服務器之上,對于Apache 1.3版來講,mod_snmp模塊可以支持第1版和2版的SNMP協(xié)議;對于Apache 2版來講,mod_apache_snmp模塊可以編譯成Apache的DSO直接支持第1版、第2版和第3版的SNMP協(xié)議。有了SNMP模塊,外部網(wǎng)管軟件就可以對Apache網(wǎng)站服務器的各種實時性能參數(shù)進行查看了,這些參數(shù)包含“服務器連續(xù)在線時間、平均負載、一段時間內的錯誤數(shù)、提供網(wǎng)站服務的字節(jié)數(shù)和連接請求數(shù)”。SNMP模塊遇到突然激增的并發(fā)連接請求數(shù)時會向控制臺報警。管理SNMP資源的開源工具軟件有:“net-snmp,OpenNMS,Najios等”。


  用開源工具分析日志

  有很多開源和商業(yè)版的工具軟件可以對產(chǎn)生的Apache日志文件做分析和處理,通常的步驟是:

  1.選取一個日志文件。

  2.分析日志文件內容。

  3.生成包含不同類別內容的統(tǒng)計信息網(wǎng)頁輸出。Webalizer(/software/去下載這些工具。


  將連接請求日志記錄到數(shù)據(jù)庫

  Apache本身沒有將記錄轉發(fā)到數(shù)據(jù)庫的功能,必須要第三方腳本和模塊來支持。這里列舉幾個:mod_log_sql模塊允許將連接請求直接記入MySQL數(shù)據(jù)庫,然后用Apache LogView SQL工具來參看庫中的記錄;pglogd工具可以記錄日志到PostgreSQL數(shù)據(jù)庫中。


  將日志文件轉存和歸檔

  CustomLog "|bin/rotatelogs /var/logs/apachelog

  86400" common如果網(wǎng)站流量較高,日志文件很容易就會變得很大,需要進行轉存和歸檔處理。轉存日志文件時需要壓縮和保存,在線進行這項工作可以使用Apache提供的rotatelogs來完成,類似工具還可以在.au/logtools/網(wǎng)頁可以找到一些其他的日志工具。比如vlogger工具就可以替代cronologs來對單個服務器上的虛擬網(wǎng)站日志進行分別處理,該工具在

  CustomLog logs/vhost1.example.com_log combined

  ErrorLog logs/vhost2.example.com_log

  .......

  使用CustomLog標志段在Apache配置文件的區(qū)塊內實現(xiàn)虛擬網(wǎng)站日志文件的獨立處理。

  LogFormat "%v %h %l %u %t "%r" %>s %b" common_virtualhost

  CustomLog logs/access_log common_virtualhost在Apache全局配置中配置方法,其中的v%負責把提供服務的虛擬網(wǎng)站記錄下來,對于配置了很多虛擬網(wǎng)站的單臺服務器來說,這種配置不錯。如果不想記錄虛擬服務器的日志只需要在配置文件中加入"CustomLog /dev/null"就可以了。


  日志文件中常見的條目

  缺少favicon.ico文件,該文件可在瀏覽器的標題欄顯示網(wǎng)站的個性圖案;

  缺少robots.txt文件,利于站點復制工具和搜索引擎使用;

  覆寫httpd.pid文件,網(wǎng)站服務器不正常退出后遺留的PID記錄文件;

  陌生的長記錄條,

  "SEARCH /x90x02xb1x02xb1x02xb1x02 ..."

  "GET /scripts/..%252f../winnt/system32/cmd.exe?/

  c+dir HTTP/1.0..."

  "GET /default.ida?NNNNNNN NNNNNNNNNNNNNNNNNN ..."類似的記錄條表示訪問者請求了網(wǎng)站上根本沒有的cmd.exe,root.exe或dir等文件。

  日志文件中的一些條目經(jīng)常反映了那些自動探測網(wǎng)站服務器漏洞的動作,多數(shù)來源于針對IIS網(wǎng)站服務器的蠕蟲和惡意程序。有時候也會發(fā)現(xiàn)一些針對Apache的漏洞,所以為了保證Apache的正常運行,用戶應保持經(jīng)常更新Apache軟件。

【默認的Apache日志文件】相關文章:

默認的愛人日志04-27

MySQL日志文件的概述04-14

關于將文件夾下所有文件輸出到日志文件中的方法04-14

如何修改MySQL日志文件的位置04-14

關于Linux日志式文件系統(tǒng)面面觀04-14

默認的意思和造句05-21

Android SD卡上文件操作及記錄日志操作具體方法04-14

關于Linux下使用cronolog切割服務器日志文件的方法04-14

有關淘寶評價默認的評語03-26

真人一级一级97一片a毛片√91,91精品丝袜无码人妻一区,亚国产成人精品久久久,亚洲色成人一区二区三区
亚洲欧美日韩另类精品一区 | 色国产精品一区在线观看 | 亚洲欧美国产老妇偷窥 | 亚洲中文字幕三区二区 | 亚洲伊人成大香线蕉99综合 | 日本最新一区二区三区在线 |