菜单
文档breadcrumb arrow Grafana Mimirbreadcrumb arrow 配置breadcrumb arrow 自定义活动系列追踪器
开源

配置自定义活动系列追踪器

您可以使用自定义追踪器功能来统计 ingester 上匹配特定标签模式的活动系列数量。

用于匹配的标签模式通过 -ingester.active-series-custom-trackers CLI 标志(或其相应的 YAML 配置选项)指定。每个自定义追踪器被定义为一个键值对,其中键是追踪器的名称,值是标签匹配器。键和值都是 <string> 类型。

以下示例配置了一个自定义追踪器,用于统计每个租户来自 devprod 命名空间的活动系列数量。

yaml
active_series_custom_trackers:
  dev: '{namespace=~"dev-.*"}'
  prod: '{namespace=~"prod-.*"}'

如果您为 ingester 配置了自定义追踪器,ingester 会在其 /metrics 端点暴露一个 cortex_ingester_active_series_custom_tracker gauge 指标。

每个自定义追踪器按租户统计匹配其标签模式的活动系列,这意味着每个自定义追踪器会生成最多 # of tenants 个度量名称为 cortex_ingester_active_series_custom_tracker 的系列。为了降低此度量的基数,只有至少匹配到一个系列的自定义追踪器才会暴露在度量上,如果数量变为 0,则会移除。

度量名称为 cortex_ingester_active_series_custom_tracker 的系列会应用两个标签:nameusername 标签的值是配置中指定的自定义追踪器的名称。user 标签的值是应用系列计数统计的租户 ID。

为了说明这一点,假设您按照前面的 YAML 代码片段配置了两个自定义追踪器,并且您的 Grafana Mimir 集群有两个租户:tenant_1tenant_with_only_prod_metrics。假设 tenant_with_only_prod_metrics 有三个系列匹配模式 {namespace=~"prod-.*"},没有系列匹配模式 {namespace=~"dev-.*"}。另假设 tenant_1 有五个系列匹配模式 {namespace=~"dev-.*"},有十个系列匹配模式 {namespace=~"prod-.*"}

在此示例中,当抓取 ingester 组件的 /metrics 端点时,会出现以下输出

cortex_ingester_active_series_custom_tracker{name="dev", user="tenant_1"}                         5
cortex_ingester_active_series_custom_tracker{name="prod", user="tenant_1"}                       10
cortex_ingester_active_series_custom_tracker{name="prod", user="tenant_with_only_prod_metrics"}   3

对于特定的租户,您可以覆盖前面描述的默认配置。为此,请编辑运行时配置

您可以为租户 tenant_with_only_prod_metrics 覆盖活动系列自定义追踪器的配置,以追踪两个服务,而不是默认的匹配器。请参阅以下示例

overrides:
  tenant_with_only_prod_metrics:
    active_series_custom_trackers:
      service1: '{service="service1"}'
      service2: '{service="service2"}'

添加此覆盖后,假设 service1 有一个匹配系列,service2 有两个匹配系列,则 /metrics 的输出会改变

cortex_ingester_active_series_custom_tracker{name="dev", user="tenant_1"}                                           5
cortex_ingester_active_series_custom_tracker{name="prod", user="tenant_1"}                                         10
cortex_ingester_active_series_custom_tracker{name="service1", user="tenant_with_only_prod_metrics"}                 1
cortex_ingester_active_series_custom_tracker{name="service2", user="tenant_with_only_prod_metrics"}                 2

要设置运行时覆盖,请参阅运行时配置

注意

每个 ingester 都暴露自定义活动系列追踪器。

要了解您的 Grafana Mimir 集群中全局范围内匹配特定标签模式的活动系列计数,您必须收集并汇总所有 ingester 上的此指标。

如果您以 replication_factor > 1 运行 Grafana Mimir,您还必须考虑 Mimir 将同一系列在其 ingester 之间复制 replication factor 倍的事实,并进行相应调整。