天天看點

運維編排系列場景-----在磁盤使用率超限時自動清理臨時檔案

場景介紹

有些應用在運作過程中會不斷産生檔案,比如下載下傳的檔案、備份檔案、日志檔案,我們需要在磁盤使用率過高後删除不再使用的或者過期的檔案。這裡我們以清理/tmp下的臨時檔案為例,說明如何通過運維編排(OOS)提供的公共模闆來實作此類運維操作。

解決方案

我們準備一台ECS執行個體,登陸進系統後,檢視它的磁盤占用率:

運維編排系列場景-----在磁盤使用率超限時自動清理臨時檔案

可以看到根目錄所在的磁盤占用率達到了72%。檢視臨時檔案目錄,可以看到臨時檔案download.tmp占用了超過12G,需要清理。我們來看如何将這種正常運維任務自動化。

登入OOS控制台。如果您之前從未開通過OOS服務,請點選“立即開通”按鈕,即可一鍵開通。OOS運維編排是安全免費的服務,請放心開通。

運維編排系列場景-----在磁盤使用率超限時自動清理臨時檔案

開通後在公共模闆中搜尋ACS-ECS-RunCommandWhenDiskUsageLimitExceeded,找到<當某磁盤使用率超過門檻值時執行指令。>這個公共模闆。

運維編排系列場景-----在磁盤使用率超限時自動清理臨時檔案

點選“建立執行”的按鈕,輸入“執行描述”後,點選"下一步:設定參數"。

運維編排系列場景-----在磁盤使用率超限時自動清理臨時檔案

設定清理任務的參數:

運維編排系列場景-----在磁盤使用率超限時自動清理臨時檔案

這裡的參數分兩類,前三個參數定義了在什麼情況下觸發執行(執行個體i-bp...的/dev/vda1分區上的空間使用率超過70%),一類定義了執行的内容(執行一個Shell腳本,其内容為rm -r /tmp/*,注意在生産環境使用rm指令前要先做測試)。silenceTime為3600秒代表在磁盤使用利率持續超限的情況下一小時内隻會執行一次,這個參數是在無法解除報警的場景下防止頻繁觸發運維操作。

确認執行:

運維編排系列場景-----在磁盤使用率超限時自動清理臨時檔案

執行建立後,建立一個磁盤使用率告警規則,目前在等待報警:

運維編排系列場景-----在磁盤使用率超限時自動清理臨時檔案

稍等1-2分鐘後(告警規則的加載以及監控發現的延遲),由于該磁盤的使用率已經超過70%的門檻值,觸發了一次磁盤清理操作:

運維編排系列場景-----在磁盤使用率超限時自動清理臨時檔案

點選清單上這個子執行檢視詳情,可以看到這個清理操作執行成功了:

運維編排系列場景-----在磁盤使用率超限時自動清理臨時檔案

我們登陸系統确認:

運維編排系列場景-----在磁盤使用率超限時自動清理臨時檔案

可以看到/tmp下的臨時檔案已經被清除。

這時候執行的狀态又變回等待中。這個執行會7x24小時一直執行,直到使用者主動取消。隻要出現磁盤超限的情況,臨時檔案就會被自動清理。

總結

以上以一個常見的磁盤清理任務為例,介紹了運維編排的告警運維功能。通過告警運維任務,我們将監控告警能力和運維能力結合在一起,實作自動化的處理告警,将運維同學從不期而至的短信和日常繁瑣枯燥的運維操作裡解放。

上面使用了一個為場景定制的公共模闆,如果我們想處理磁盤占用率之外的告警呢?運維編排提供建立通用告警運維的功能,可以支援全部的雲監控監控項的告警,按頁面引導即可配置在指定告警發生時執行指定的模闆。

下面給出了實作上述公共模闆同樣功能的任務配置:

設定告警規則

運維編排系列場景-----在磁盤使用率超限時自動清理臨時檔案

設定要觸發的模闆:

運維編排系列場景-----在磁盤使用率超限時自動清理臨時檔案

設定觸發模闆使用的參數:

運維編排系列場景-----在磁盤使用率超限時自動清理臨時檔案

參數中的$instanceId引用了告警消息中的執行個體ID資訊。此任務可以監控和清理任意執行個體。

了解更多請參考

建立告警任務

文檔。如有疑問可以加入運維編排客戶支援釘釘群咨詢。

歡迎使用OOS

OOS客戶支援釘釘群:23330931

OOS管理控制台的連結 OOS幫助文檔的連結