2013-05-02 86 views
8

我最近在Amazon S3中託管過,並且需要日誌文件來計算對象中「獲取」,「放入」,「列表」操作的統計信息。Amazon S3中的日誌延遲

我注意到日誌文件的組織很奇怪。我不知道什麼時候會出現日誌(並非立即,至少在操作20分鐘後)以及一個日誌文件中將包含多少行日誌。

之後,我需要下載這些日誌文件並進行分析。但我無法弄清楚我多久會這樣做。

有人可以幫忙嗎?謝謝。

回答

13

你所描述的(日誌文件可用延遲和不可預知的順序)正是declared by AWS預期的行爲。這是分佈式系統的本質,AWS S3用於提供S3服務,每次從不同的服務器提供相同的請求 - 我已經看到5個不同的IP地址供發佈。

所以唯一的解決方法是:接受延遲,看看你經歷的延遲,並增加一些額外的時間,並學習與這個總延遲生活(我會期望像30至60分鐘,但統計數據可以告訴更多)。

如果您需要訂購日誌記錄,您可以自己排序,或者搜索某些日誌處理解決方案 - 我已經看到一些應用程序正是爲此目的而提供的。

如果您確實需要以非常短的延遲獲取日誌文件,則必須自己創建日誌,這意味着您必須編寫並運行一些前端,從而可以訪問S3和同時根據需要繼續記錄。

我運行這樣一個解決方案,用戶得到我的前端的用戶名和密碼以及url。當他們發送請求時,我評估他們是否提供了適當的憑證,並且他們是否被允許查看給定的資源,如果是,我爲該資源創建幾分鐘的有效臨時URL並將請求重定向到該請求。

但是這樣一個前端花錢(您必須在某處運行您的前端)並且不夠健壯,然後直接訪問AWS S3。

祝你好運,露露。

+0

非常感謝!我將嘗試下載並分析這些日誌以獲取統計信息。祝你有個美好的一天。 – Lulu 2013-10-31 09:13:01

+0

這是記錄在任何地方,記錄被延遲? :) – Jigar 2014-12-02 06:59:30

+1

@Jigar查看「盡力服務器日誌傳遞」(http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html)。引用: 服務器訪問日誌記錄以盡力而爲的方式提供。對於正確配置用於日誌記錄的存儲桶的大多數請求將導致提供的日誌記錄,並且大多數日誌記錄將在它們被記錄的幾個小時內遞送。 – 2014-12-02 12:52:00