Skip to Content
Testing應用程式可觀察性

應用程式可觀察性

可用性

可觀測 API 是 partially implemented。目前有兩個有用的資料來源:

  • 僅附加、手動填充的事件時間軸;和
  • libvirt 報告的目前 VM 資源分配。

以下僅為合約預覽:

  • 請求分析返回空匯總列表,因為訪問日誌攝取未運行;
  • uptime-probe 配置仍然存在,但沒有調度程序執行 HTTP 檢查;
  • 資源樣本為空,因為採樣器未運行;和
  • 未實作應用程式日誌流。

沒有完整的可觀察性儀表板。儲存的探針配置並不能證明端點已被檢查。

目前 REST 表面

這些路線位於 /api/app-gateway 下方。

方法路徑今天證明了什麼
GET/analytics/{slug}?days=7合約是可以達成的; rollups 預計為空。
PUT/probes/{slug}探頭配置經過驗證並儲存。
GET/probes/{slug}可以讀取儲存的設定。運行時狀態保持未設定狀態。
DELETE/probes/{slug}儲存的配置已被刪除。
POST/events/{slug}附加了呼叫者提供的事件。
GET/events/{slug}?limit=100儲存的事件可以用最新先讀的方式讀取。
GET/metrics/{slug}?vm_name={name}目前分配可能會被退回; samples 為空。

探針配置

PUT /api/app-gateway/probes/my-app Content-Type: application/json { "path": "/healthz", "interval_s": 60, "expected_status": 200, "timeout_s": 5, "enabled": true }

目前的讀取如下所示:

{ "config": { "path": "/healthz", "interval_s": 60, "expected_status": 200, "timeout_s": 5, "enabled": true }, "last_run_at": null, "last_status": null, "last_http_status": null, "consecutive_failures": 0 }

null 運行時欄位是重要訊號:尚未執行任何檢查。使用外部監視器進行可用性警報,直到調度程序出貨。

活動

事件是透過 API 寫入的持久記錄,而不是自動完成的審核追蹤。部署、檢查點、域和 walker 掛鉤仍處於掛起狀態,因此呼叫者不得假設這些活動將在沒有明確附加的情況下出現。

將事件元資料視為呼叫者提供的資料。不要在其中放置秘密。

資源分配

當 libvirt 中存在匹配的 VM 時,指標路由可以報告分配的 vCPU、記憶體和磁碟。它尚未報告時間序列或應用程式層級的運行狀況。分配是容量配置,而不是應用程式使用該容量或在該容量下倖存下來的證據。

操作指導

直到部署攝取和工作循環:

  1. 使用外部 HTTP 監視器來確保正常運作時間;
  2. 使用運營商管理的機制收集應用程式日誌; 3.使用libvirt或主機遙測進行實際利用;和
  3. 將時間戳記和來源證據附加到事件記錄中,而不是僅依賴預覽事件清單。

只有在重新啟動安全的攝取、偵測、取樣和日誌流程工作人員通過端對端故障和復原測試後,此功能才能呈現為就緒狀態。