2012-08-23 57 views
0

我正在監視網站(使用curl)以查看它是否已啓動並知道主頁上簡單GET請求的響應時間。我正在使用自制腳本來做到這一點,我不想使用Nagios或任何其他現有的工具。如何檢查網站是否啓動並長時間存儲結果

我的問題是,我不知道如何將結果存儲很長一段時間(比如說幾個月)。我不需要每個請求的響應時間,因爲當然是時代,但我想獲得大時間段的狀態(上/下)和平均響應時間。 例如:

  1. [上個月] - >每日響應時間(平均)
  2. [最近3個月] - >每週響應時間(平均)
  3. [過去12個月] - >每月響應時間(平均)

並且整個期間,我想保持狀態。爲此,我會保存最後一次日期,當我發生狀態更改時。

所以問題是:以這種頻率/保留存儲這種信息的最佳方式是什麼?我在PHP中編寫了一個Mysql數據庫,但也許有比DB更好的東西?

任何語言/技術都可以接受,只要它在linux/unix上免費運行即可。

謝謝

+0

您已經有了最好的工具。你的解決方案是最理想的。 –

回答

1

這聽起來像一個典型的循環法數據庫。 RRDtool允許你管理這樣的數據庫。我沒有看到重新發明車輪的理由。

+0

我過去使用過RRDtools,但我想在這裏創建自己的解決方案,以便真正理解正在發生的事情,並獲得對後面運行的代碼的更多控制。但考慮到這種工具的複雜性,我最終會選擇RRDtools。謝謝。 –

1

保存每一個請求到數據庫表和calcualte daily response time (avg)weekly response time (avg)monthly response time (avg)寫簡單的PHP函數。

如果你只存儲響應時間和請求日期,你的表不會快速增長,並且正確的索引會運行得很快。