日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

管理Apache服务器访问日志

發布時間:2023/12/4 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 管理Apache服务器访问日志 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
管理Apache服務器訪問日志

1.相關配置文件說明

  一個優秀的Linux網絡管理員會密切關注服務器日志系統,這些日志可以提供異常訪問的線索。Apache可以記錄所有的訪問請求,同樣,錯誤的請求也會記錄。Apache配置文件中,需要關心的和日志相關的配置文件有兩個:

  $ CustomLog /www/logs/access_log common? #記錄對Web站點的每個進入請求#

  $ ErrorLog /www/logs/error_log? #記錄產生錯誤狀態的請求#

  CustomLog用來指示Apache的訪問日志存放的位置(這里保存在/www/logs/access_log中)和格式(這里為common);ErrorLog用來指示Apache的錯誤信息日志存放的位置。對于不配置虛擬主機的服務器來說,只需直接在httpd.conf中查找CustomLog配置進行修改即可。而對于具有多個虛擬服務器的Web服務器來說,需分離各個虛擬服務器的訪問日志,以便對各個虛擬服務器進行訪問統計和分析,因此,需要在虛擬服務器配置中進行獨立的日志配置。

  2.Web服務器日志輪循

  Web服務器日志輪循比較好的方式有三種:第一種方法是利用Linux系統自身的日志文件輪循機制logrotate;第二種方法是利用Apache自帶的日志輪循程序rotatelogs;第三種是使用在Apache的FAQ中發展已經比較成熟的日志輪循工具cronolog。對于大型的Web服務器來說,往往使用負載均衡技術提高Web站點的服務能力,這樣后臺有多個服務器提供Web服務,大大方便了服務的分布規劃和擴展。如果有多個服務器,需要對日志進行合并,統一進行統計分析。因此為了保證統計的精確性,需要嚴格按照每天的時段來自動生成日志。

  (1)用logrotate實現日志輪循

  首先討論采用Linux系統自身的日志文件輪循機制logrotate的方法。logrotate是Linux系統自身帶的一個日志輪循程序,是專門對各種系統日志(syslog、mail)進行輪循的程序。該程序是由運行程序的服務crond每天凌晨4:02運行的。在/etc/cron.daily目錄下可以看到logrotate文件:

  #!/bin/sh/

  $ usr/sbin/logrotate /etc/logrotate.conf

  每天凌晨crond都會啟動/etc/cron.daily目錄下的logrotate腳本來進行日志輪循。在/etc/logrorate. conf中可以看到如下內容:

  # see "man logrotate" for details

  # rotate log files weekly

  weekly

  # keep 4 weeks worth of backlogs

  rotate 4

  # create new (empty) log files after rotating old ones

  create

  # uncomment this if you want your log files compressed

  #compress

  # RPM packages drop log rotation information into this directory

  include /etc/logrotate.d

  # no packages own wtmp -- we'll rotate them here

  /var/log/wtmp {

  monthly

  create 0664 root utmp

  rotate 1

  }

  # system-specific logs may be also be configured here.

  從logrotate的配置文件中可以看到,除了wtmp以外,需要滾動的日志的配置都保存在/etc/logroate.d目錄下。因此只需要在該目錄下創建一個名為apache的配置文件,來指示logrotate如何輪循Web服務器的日志文件即可。這種方法的優點是不需要其他第三方工具就可以實現日志輪循。但是對于重負載的服務器和使用負載均衡技術的Web服務器來說,這種方法不是很實用,因為它是對相應服務進程發出一個"-HUP"重啟命令來實現日志的截斷歸檔的,這樣會影響服務的連續性。

  (2)用rotatelogs實現日志輪循

  Apache提供了不把日志直接寫入文件,而是通過管道發送給另外一個程序的能力。這樣就大大加強了對日志進行處理的能力。這個通過管道得到的程序可以是任意程序,如日志分析、壓縮日志等。要實現將日志寫到管道的操作,只需要將配置中日志文件部分的內容替換為"|程序名"即可,例如:

  # compressed logs

  $ CustomLog "|/usr/bin/gzip -c >> /var/log/access_log.gz" common

  這樣就可以使用Apache自帶的輪循工具rotatelogs來對日志文件進行輪循。rotatelogs基本是按時間或大小來控制日志的。

  $ CustomLog "|/www/bin/rotatelogs /www/logs/secfocus/access_log 86400" common

例:

?CustomLog? "|/usr/sbin/rotatelogs /var/www/vhosts/591wed.com/statistics/logs/access_log_%Y_%m_%d 86400" plesklog
?ErrorLog? "|/usr/sbin/rotatelogs /var/www/vhosts/591wed.com/statistics/logs/error_log_%Y_%m_%d 86400"

?

  上面內容表示,Apache訪問日志被發送給程序rotatelogs;rotatelogs將日志寫入/www/logs/ secfocus/access_log,并每隔86 400秒(1天)對日志進行一次輪循。輪循以后的文件名為/www/logs/ secfocus/access_log.nnn,這里nnn是開始記錄日志的時間。因此,為了將日志按天對齊需要在凌晨00:00啟動服務,使得每天輪循得到的日志剛好是完整一天的日志,以提供給訪問統計分析程序進行處理。如果是00:00開始生成新的日志,那么輪循得到的日志就是access_log.0000。

  (3)用cronolog實現日志輪循

  首先需要下載和安裝cronolog,可以到http://www.cronolog.org下載最新版本的cronolog。下載完畢以后,解壓安裝即可。這樣就完成了cronolog的配置和安裝,默認情況下,cronolog安裝在/usr/local/sbin下。修改Apache日志配置命令如下所示:

  $ CustomLog "|/usr/local/sbin/cronolog /www/logs/secfocus/%w/access_log" combined

  這里%w表示按照日期在不同的目錄下保存日志,這種方式會保存一周的日志。為了進行日志分析,需要每天將該日志文件復制(或移動,如果不希望保存一周的日志)到一個固定的位置,以方便日志分析統計文件進行處理(使用crontab -e)。添加定時任務如下:

  $ 5 0 * * * /bin/mv /www/logs/secfocus/`date -v-1d +\%w`/access_log

  /www/logs/secfocus/access_log_yesterday

  再使用日志統計分析程序,對文件access_log_yesterday進行處理。對于這種情況,各個服務器定義或移動日志文件時就不能使用access_log_yesterday了,而應該帶上服務器編號(例如服務器IP地址等信息)加以區分。然后在各個服務器上運行網站鏡像和備份服務rsyncd,再將每個服務器每天的安裝配置文件通過rsyncd下載到專門進行訪問統計分析的服務器上進行合并。合并多個服務器的日志文件(如log1、log2、log3),并輸出到log_all中的方法是:

  $ sort -m -t " " -k 4 -o log_all log1 log2 log3

  -m表示使用merge優化算法;-k 4表示根據時間進行排序;-o表示將排序結果存放到指定的文件中。

posted on 2012-07-10 17:09 wnguh 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/591wed/archive/2012/07/10/2584978.html

總結

以上是生活随笔為你收集整理的管理Apache服务器访问日志的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。