Amazon-Web-Services
AWS Elastic Load Balancer 的 AStats LogFormat
希望有人能指出我嘗試與 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。
事實證明,這似乎是
%time5
AStats 中 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 現在正在工作。
感謝發帖。
親切的問候大衛