Amazon-Web-Services

AWS Elastic Load Balancer 的 AStats LogFormat

  • March 27, 2019

希望有人能指出我嘗試與 Amazon ELB 生成的訪問日誌一起使用的 LogFormat 有什麼問題。

ServerFault 可讀性的多行:

%time5 %elb %host %host_port %host_r %host_r_port %request_processing_time 
%backend_processing_time %response_processing_time %code 
%backend_status_code %received_bytes %bytesd %methodurl

範例日誌條目(清理後):

2014-08-28T17:59:14 awseb-e-2-AWSEBLoa-AAAAAAAA 123.123.123.123 44153 10.123.123.123 80 0.000046 0.536613 0.000045 200 200 0 13129 "GET /path/to/web/app HTTP/1.1"

日誌在發送到 AWStats 之前被清理。我使用以下替換:

cat ${s3_logs_dir}/* \
| sed -e "s/\(\.[0-9]\{1,3\}\):\([0-9]\{2,5\}\)/\1 \2/g" \
| sed -e "s/\(:[0-9]\{2\}\)\(\.[0-9]\{6\}Z\)/\1/g" \
| sed -e "s/http:\/\/www\.example\.com:80//g" \
> ${combined_log} 2>>${log_file}

首先我從埠分離主機,其次我從 %time5 ISO 日期中刪除微秒,最後我嘗試從請求中刪除絕對 URL。

事實證明,這似乎是%time5AStats 中 LogFormat 選項的錯誤。

我將 YYYY-MM-DDTHH:MM:SS 轉換為 YYYY-MM-DD HH:MM:SS 並使用%time2,日誌解析成功。

早上好,現在這已經過時了,但是使用 awstats Advanced Web Statistics 7.7(內部版本 20180105)和您使用此標準的解析規則,它也與代理匹配。

在目前的 elb 日誌中也是日誌類型的請求,甚至沒有記錄,所以新格式是

LogFormat="%other %time5 %other %host %host_port %host_r %host_r_port %request_processing_time %backend_processing_time %response_processing_time %code %backend_status_code %received_bytes %bytesd %methodurl %uaquot"

%time5 現在正在工作。

感謝發帖。

親切的問候大衛

引用自:https://serverfault.com/questions/625088