Help us learn about your current experience with the documentation. Take the survey.

监控 Gitaly 集群 (Praefect)

要监控 Gitaly 集群 (Praefect),您可以使用 Prometheus 指标。有两个独立的指标端点可供抓取指标:

  • 默认的 /metrics 端点。
  • /db_metrics,其中包含需要数据库查询的指标。

默认的 Prometheus /metrics 端点

/metrics 端点提供以下指标:

  • gitaly_praefect_read_distribution,一个用于跟踪读取分布的 counter。它有两个 label:

    • virtual_storage
    • storage

    它们反映了为此 Praefect 实例定义的配置。

  • gitaly_praefect_replication_latency_bucket,一个 histogram,用于衡量复制作业开始后完成复制所需的时间。

  • gitaly_praefect_replication_delay_bucket,一个 histogram,用于衡量从创建复制作业到启动作业之间经过的时间。

  • gitaly_praefect_connections_total,到 Praefect 的总连接数。

  • gitaly_praefect_method_types,每个节点的 accessor 和 mutator RPCs 的计数。

要监控强一致性,您可以使用以下 Prometheus 指标:

  • gitaly_praefect_transactions_total,已创建和已投票的事务数量。
  • gitaly_praefect_subtransactions_per_transaction_total,节点为单个事务投票的次数。如果在单个事务中更新多个引用,这可能会发生多次。
  • gitaly_praefect_voters_per_transaction_total:参与事务的 Gitaly 节点数量。
  • gitaly_praefect_transactions_delay_seconds,由等待事务提交所引入的服务器端延迟。
  • gitaly_hook_transaction_voting_delay_seconds,由等待事务提交所引入的客户端延迟。

要监控仓库验证,请使用以下 Prometheus 指标:

  • gitaly_praefect_verification_jobs_dequeued_total,由 worker 接取的验证作业数量。
  • gitaly_praefect_verification_jobs_completed_total,由 worker 完成的验证作业数量。result label 指明了作业的最终结果:
    • valid 表示预期的副本存在于存储上。
    • invalid 表示预期应存在的副本在存储上不存在。
    • error 表示作业失败,需要重试。
  • gitaly_praefect_stale_verification_leases_released_total,已释放的陈旧验证租约数量。

您也可以监控 Praefect 日志

数据库指标 /db_metrics 端点

/db_metrics 端点提供以下指标:

  • gitaly_praefect_unavailable_repositories,没有健康、最新副本的仓库数量。
  • gitaly_praefect_replication_queue_depth,复制队列中的作业数量。
  • gitaly_praefect_verification_queue_depth,待验证的副本总数。