跳到內容
繁體中文

保留、清除與觀測

三件營運上會被問到的事:資料留多久、清除怎麼進行且留下什麼證據、 系統的狀態怎麼觀測,以及規劃磁碟時該用什麼數字算。

政策在「安全政策」頁的「日誌保留與審閱」段,五個保留天數加一個單次清理上限:

政策鍵 出廠值
操作日誌保留天數 0(永久保留)
指令流保留天數 0(永久保留)
告警記錄保留天數 0(永久保留)
連線錄影保留天數 90
檢查點保留天數 0(永久保留)
單次清理刪除上限 100000

0 表示永久保留。生效中的政策組若對這項有要求,從設定抽屜看得到;頁首可對組套用並先預覽。

有一條跨鍵約束:檢查點保留天數不得低於四類資料中最長的那一個(0 視為無限大), 違反時整批儲存會被拒絕。單次清理上限的下限是 5000 筆。

清除排程每天執行一次,分批刪除,單次沒刪完隔天繼續,不阻塞線上請求。 縮短保留期之前,介面會先做一次確認,因為清除是硬刪。

稽核紀錄以「已封章的檢查點區間」為最小不可分割單位:區間裡只要還有一列沒到期, 整段就暫不清除,為的是讓鏈保持連續可驗。

已經離機的錄影到期時,只清本機檔案並在帳冊標記, 系統不對遠端物件發出刪除呼叫。遠端的到期由儲存桶的生命週期規則承擔。

GET /metrics 以 Prometheus 文字格式提供營運指標。 路徑刻意不放在 /api 之下,而正式版的對外代理只轉發 /api 與連線通道, 所以零設定的部署從外部打不到它。要開給監控系統時,設 METRICS_TOKEN, 之後請求必須帶對應的 Bearer token,比對不符回 401 且回應不含任何指標名稱或值。

最小指標集合涵蓋:依協議分的活躍會話數、活躍連線數、錄影儲存用量、 依嚴重度分的未審閱告警數、稽核佇列深度、稽核丟棄累計數、封印狀態、 HTTP 請求累計數與延遲分佈。啟用離機保存後另外曝光待上傳、失敗、待遠端刪除、 完整性不符、最老待上傳項年齡、最後成功上傳時刻等項目。

高成本的指標由背景任務定期更新,錄影儲存用量每 30 秒更新一次,值最多落後一個週期。 封印期間 /metrics 仍然可讀,還沒建構起來的服務,其指標缺席,而不是以 0 呈現。

具稽核檢視權限的使用者,在主控頁也看得到「錄影佔用」卡片。 數值取自錄影目錄的實際檔案大小加總,涵蓋全部協議。

以下是單機的觀測值,兩筆都是閒置狀態的下界,用來抓量級:

協議 觀測
文字終端 閒置約 30 B/s,約當每會話小時 105 KB;滿載的放大係數約 1.32 倍
圖形連線 靜態桌面約每會話小時 10.4 MB 起算

換算方式:文字錄影的磁碟需求約等於終端輸出位元組乘以 1.32; 圖形錄影約等於同時會話數乘平均會話時長乘增長率乘保留天數。

會先飽和的資源依序是:圖形代理容器、錄影磁碟的寫入頻寬與容量、資料庫連線池上限、 目標主機自身的連線數限制。後端每條會話約增加 16 個 goroutine, 記憶體增量上界約每會話 148 KB。

建議對錄影儲存用量的指標設成長率或容量門檻的告警。

.env 另有幾個可調的旋鈕:終端閒置逾時與最大時長、檢查點的時間與列數門檻、 單次換鑰處理上限、叢集列表逾時。留空即採內建預設值。 查詢主控台的同時會話數上限為每人 4 條、全域 64 條。

後端行程以最小必要權限執行,禁止提權、不寫 core、鎖定記憶體頁。 行程啟動前設為不可傾印。套不上就停機並記 log。系統持有的帳號秘密於最後用途完成後清理。 資料金鑰在記憶體多久、封存何時清快取,見 金鑰管理。

  • 每次清除寫一筆紀錄,內容含資料類型、清除的時間範圍、實際刪除筆數、是否只完成一部分。
  • 稽核紀錄的清除另外載明本次涵蓋的檢查點序號或區間。
  • 清除紀錄本身也會經 syslog 轉發出去,所以「刪了什麼」在外部系統上也留有副本。
  • 這些欄位讓合法的到期清除與惡意刪除在證據上可以分辨,判定方式見檢查點鏈。