菜单
文档breadcrumb arrow Grafana Tempobreadcrumb arrow 管理breadcrumb arrow 监控 Tempobreadcrumb arrow 使用轮询监控后端状态
开源

使用轮询监控后端状态

Tempo 通过定期轮询后端来维护其状态信息。目前只有两个组件需要这些信息,因此也只有这两个组件会轮询后端:compactor 和 querier。

为了减少对后端的调用,只有一小部分 compactor 会实际列出所有块并构建所谓的租户索引。租户索引是一个位于 /<tenant>/index.json.gz 的 gzip 压缩 JSON 文件,其中包含该租户的每个块和压缩块的条目。此操作会每隔 blocklist_poll 时长执行一次。

所有其他 compactor 和所有 querier 则依赖于下载此文件、解压缩并使用其中包含的列表。同样,此操作会每隔 blocklist_poll 时长执行一次。

由于此行为,给定的 compactor 或 querier 通常会有一个过期的块列表。在正常操作期间,它最多会过期两倍于配置的 blocklist_poll 时长。

注意

有关配置轮询的详细信息,请参阅轮询配置

使用仪表盘和告警监控轮询

有关轮询的示例告警运行手册条目,请参阅 Jsonnet。

如果您正在构建自己的仪表盘或告警,这里有一些相关指标

  • tempodb_blocklist_poll_errors_total 这是一个整体指标,记录轮询块列表时发生的任何错误。此指标的任何增加都应进行审查。
  • tempodb_blocklist_poll_duration_seconds 柱状图,记录轮询整个块列表所需的时间(秒)。
  • tempodb_blocklist_length 此组件看到的总块数。
  • tempodb_blocklist_tenant_index_errors_total 这是一个整体指标,记录构建租户索引时发生的任何错误。此指标的任何增加都应进行审查。
  • tempodb_blocklist_tenant_index_builder 一个 Gauge 指标,如果此 compactor 正在尝试构建租户索引,则值为 1,否则为 0。至少一个 compactor 的此值必须设置为 1,系统才能正常工作。
  • tempodb_blocklist_tenant_index_age_seconds 上次加载的租户索引的年龄。now() 减去此值表示此组件的块列表视图有多旧。