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. 将时间戳和来源证据附加到事件记录中,而不是仅仅依赖预览事件列表。

仅当重新启动安全的摄取、探测、采样和日志流工作人员通过端到端故障和恢复测试后,该功能才能呈现为就绪状态。