Logging

有沒有人有配置來使用 AWStats(或類似的軟體)處理 AWS CloudFront/S3 日誌?

  • January 18, 2013

我不想讓像 s3stat 這樣的外部公司訪問我的日誌。我知道 AWS 以 AWSStats 可讀的格式記錄 S3 和 Cloud Front。有沒有人使用 AWSats 分析它們?

S3stat 曾經提供其軟體的託管版本,該版本處於測試階段,但我相信它已經停產。

我不依賴於 AWStats,我會考慮其他自託管網路日誌分析軟體選項。

我不將 AWSStats 與 S3 一起使用,但建議處理日誌存在 3 個問題:

  1. 您需要獲取數據 - 它儲存在 S3

借助 Cloudfront,AWS 為您提供了您希望使用的儲存桶的選項 - 它不必是源(源)儲存桶。您可以輕鬆地為您的日誌設置一個特定的儲存桶,並可以通過s3fs安裝它——這應該提供對文件的最簡單訪問——保留日誌增量處理通常需要的時間戳等。或者,如果您不希望將儲存桶掛載為本地文件系統,您可以使用s3cmdaws或其中一個 SDK 來下載文件。(有一個用於此目的的python腳本(使用boto)-在這裡-雖然,我不能保證它的有效性。) 2. 需要解壓合併日誌

Cloudfront 日誌被壓縮(gzipped),並儲存為多個文件 - 文件名包含日期和小時(例如XXXXXXXXXXXXX.YYYY-MM-DD-HH.XXXXXXXXX),儘管每小時可以有多個文件。這些文件可以使用gunzip(AWStats 提供的工具)解壓縮和組合logresolvemerge.pl。 3. 您需要向 AWSStats 提供自定義日誌格式

文件格式是製表符分隔的,類似於:

日期時間 x-edge-location sc-bytes c-ip cs-method cs(Host) cs-uri-stem sc-status c(Referer) cs(User-Agent) cs-uri-query
2011-06-27 08:31:10 JFK1 587 xxx.xxx.xxx.xxx GET xxxxxxxxxxxxxx.cloudfront.net /path/to/your/file 304 http://www.mydomain.com/page/requesting/file 使用者-代理字元串-

因此,您將使用以下命令設置AStats:

日誌類型 = W
日誌分隔符="\t"
LogFormat="%time2 %cluster %bytesd %host %method %virtualname %url %code %referer %ua %query"

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