我正忙於爲我們公司編寫一個程序來監視我們的一些系統的性能。如何存儲性能記錄以進行時間縮放報告
所以基本上每一分鐘我都會收到當前狀態的值。我將把它們存儲在一個數據庫中。這一切都很好。
但是現在我需要能夠在時間範圍內生成其性能報告(圖表)。那是小時,一天,一週,一個月。
現在,我可以用時間戳查詢它。但是在生成年度報告時,我真的不需要一分鐘的精確度,然後我需要每臺機器每年存儲60 * 24 * 568個記錄。
我想要一些如何存儲所有的值,然後總結它們來減少需要存儲的數據量。所以當我生成年度報告時,它會每兩天查看一次。而不是每一分鐘和一個月的相同,它可以每天或每半小時查看一次。
現在我的問題其實是。如何將其存儲在數據庫中?
我應該爲每個版本的彙總表,以便分鐘=>小時=>天=>周等
還是我保持一個大表中的所有條目,只是使用SQL sumarise它等
我從來沒有做過這樣的事情,我真的不知道從哪裏開始思考。這聽起來很像數據倉庫,但請注意,這不是一個巨大的規模。它將通過Web界面監控5-10個服務。我記得的想法其實是從Mikrotik Rotuers那裏得到的。我懷疑許多oyu會與他們合作。但他們有一個很好的資源圖形系統,它很簡單,但顯示它所需要的。
這樣的: