簡體   English   中英

如何可靠地檢測異常資源消耗?

[英]How to detect anomalous resource consumption reliably?

這個問題是關於一類類似問題的,但我將作為一個具體示例進行詢問。

我有一台服務器,其文件系統的內容會波動。 我需要監視此文件系統上的可用空間,以確保它不會填滿。 為了爭辯,我們假設如果服務器已滿,則服務器將關閉。

它到底是什么並不重要-例如,可能是“工作”隊列。

在“正常”操作期間,可用空間在“正常”范圍內變化,但是可能會出現以下情況:

  • 其他一些(可能是外部)添加工作的組件可能會失去控制
  • 除去工作的某些組件被占用,但仍未被發現

該過程的統計特征基本上是未知的。

我正在尋找一種算法,該算法將可用空間的定時定期測量作為輸入(歡迎輸入替代性建議),並在事物“異常”且文件系統為“可能會填滿”。 避免誤報顯然很重要,但避免誤報也幾乎同等重要,以避免使收到警報的系統管理員的大腦麻木。

我很欣賞還有其他解決方案,例如在根本問題上投入更多的存儲空間,但是我實際上遇到了1000次還不夠的實例。

考慮存儲的歷史測量值的算法很好,盡管首選的是將歷史數據量最小化的實時算法。


我已經接受了弗蘭克的回答,現在回到制圖板上,深入研究他的參考文獻。

我認為有三種情況值得關注,而不是按順序排列:

  1. “哈羅德百貨公司的銷售剛剛開始”的場景:在1秒鍾的分辨率下,“高峰”的活動達到頂峰,但這並不表示資源枯竭的真正危險。
  2. “全球變暖”場景:需要計划(相對)穩定的增長;
  3. “ Google向我發送了未經請求的The Index副本”場景:這將以相對較短的時間耗盡我的所有資源,除非我采取措施阻止它。

從系統管理員的角度來看,這是(我認為)最有趣和最具挑戰性的最后一個。

如果實際上與工作隊列有關,那么排隊理論可能是答案的最佳途徑。

對於一般情況,您可以嘗試對歷史數據進行(多個?)線性回歸,以檢測資源使用情況是否存在統計上顯着的上升趨勢,如果持續下去可能會導致問題(您也可以預測必須持續多長時間才能導致此技術出現問題-只需設置“問題”的閾值,然后使用趨勢的斜率來確定需要多長時間即可。 您將不得不處理此問題以及您收集的變量,以首先查看是否有任何統計學上有意義的關系。

盡管它涵蓋了完全不同的主題(全球變暖),但我發現tamino的博客(tamino.wordpress.com)是非常有用的數據統計分析資源,其中包含已知和未知數據。 例如,請參閱這篇文章。

編輯:根據我的評論,我認為這個問題有點類似於GW問題。 您的短期活動平均為零,而長期趨勢疊加了您感興趣的趨勢。此外,長期趨勢可能不止一個,並且會不時變化。 塔米諾(Tamino)描述了一種可能適用於此的技術,但不幸的是,我找不到我想的帖子。 它涉及沿數據滑動回歸(想象多條線擬合到嘈雜的數據),然后讓數據選擇拐點。 如果可以這樣做,那么您也許可以確定趨勢中的重大變化。 不幸的是,它可能僅在事實之后才可識別,因為您可能需要積累大量數據才能變得有意義。 但是可能仍然應該及時阻止資源枯竭。 至少它可以為您提供一種可靠的方法來確定您將來需要哪種安全裕度和儲備資源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM