关于 Grafana Mimir 仪表盘和告警的要求
Grafana Mimir 仪表盘和告警要求从 Grafana Mimir 中抓取的指标上存在某些标签。
mimir-distributed
Helm chart 提供元监控支持,可处理这些标签。有关 Helm chart 元监控的更多信息,请参阅通过 Helm chart 收集指标和日志。如果您正在使用 Helm chart 元监控,请转到安装 Grafana Mimir 仪表盘和告警。
如果您未使用 Helm chart,则必须配置您的 Prometheus 或 Grafana Alloy 实例以添加这些标签,以便仪表盘和告警正常工作。下表显示了必需的标签名称以及在从源编译仪表盘或告警时是否可以对其进行自定义。
标签名称 | 可配置? | 描述 | |
---|---|---|---|
cluster | 是 | Mimir 集群正在运行的 Kubernetes 集群或数据中心。您可以通过 mixin 配置中的 per_cluster_label 字段配置 cluster 标签。 | |
namespace | 是 | Mimir 集群正在运行的 Kubernetes 命名空间。您可以通过 mixin 配置中的 per_namespace_label 字段配置 namespace 标签。 | |
job | 是 | 一个前缀(默认为 <namespace>/ )后跟 Mimir 组件名称。在单体模式下运行时,请确保 <component> 是 mimir 。在微服务模式下运行时,请确保 <component> 是特定的 Mimir 组件名称(单数),例如 distributor 、ingester 或 store-gateway 。类似地,在读写模式下,请确保 <component> 是 mimir-read 、mimir-write 或 mimir-backend 。在 mixin 配置中,您可以通过 job_prefix 字段配置前缀,通过 per_job_label 字段配置标签名称,并通过 job_names 字段配置用于匹配组件的正则表达式。 | |
pod | 是 | Mimir 副本的唯一标识符,例如在 Kubernetes 上运行时是 Pod ID。您可以通过 mixin 配置中的 per_instance_label 字段配置 instance 标签。 | |
instance | 是 | Mimir 副本正在运行的节点或机器的唯一标识符,例如在 Kubernetes 上运行时是节点。您可以通过 mixin 配置中的 per_node_label 字段配置 node 标签。 |
为了使规则和告警正常工作,您必须配置您的 Prometheus 或 Grafana Alloy 实例以 15s
或更短的时间间隔从 Grafana Mimir 抓取指标。
部署类型
默认情况下,Grafana Mimir 仪表盘假定 Mimir 部署在由 Kubernetes 编排的容器中。如果您在裸金属上运行 Mimir,请将配置字段 deployment_type: 'baremetal'
设置为 'baremetal'
并重新编译仪表盘。
Job 选择
一个指标可能由多个 Grafana Mimir 组件公开,甚至由在同一命名空间中运行的不同应用程序公开。为了提供准确的仪表盘和告警,job 标签(默认为 job
)会从特定组件中选择指标。job 是前缀和组件的组合。默认前缀是 Kubernetes 命名空间后跟斜杠,例如 <namespace>/ingester
中的 <namespace>/
。
预编译的仪表盘和告警随默认配置一起提供。如果您从源代码编译仪表盘和告警,则可以选择自定义 a) 通过 per_job_label
字段用于 job 选择的标签,b) 标签值中预期的前缀,您可以通过将 job_prefix
字段设置为空字符串 ''
来省略它,以及 c) 通过 mixin 配置中的 job_names
字段选择每个 Mimir 组件的正则表达式。
单体模式下的默认 job
选择
在单体模式下运行 Grafana Mimir 并使用预编译的仪表盘和告警时,应将 job
标签设置为 <namespace>/mimir
。
微服务模式下的默认 job
选择
在微服务模式下运行 Grafana Mimir 并使用预编译的仪表盘和告警时,应根据下表设置 job
标签。
Mimir 服务 | 预期的 job 标签 |
---|---|
Distributor | <namespace>/distributor |
Ingester | <namespace>/ingester |
Querier | <namespace>/querier |
Ruler | <namespace>/ruler |
Query-frontend | <namespace>/query-frontend |
Query-scheduler | <namespace>/query-scheduler |
Store-gateway | <namespace>/store-gateway |
Compactor | <namespace>/compactor |
读写模式下的默认 job
选择
在读写模式下运行 Grafana Mimir 并使用预编译的仪表盘和告警时,请相应地设置 job
标签
Mimir 服务 | 预期的 job 标签 |
---|---|
Mimir 读取 | <namespace>/mimir-read |
Mimir 写入 | <namespace>/mimir-write |
Mimir 后端 | <namespace>/mimir-backend |
额外的资源指标
显示 CPU、内存、磁盘和网络资源利用率的 Grafana Mimir 仪表盘需要从以下端点抓取 Prometheus 指标
有关 kubelet 导出的 kubelet 指标和 cAdvisor 指标的更多信息,请参阅Kubernetes 系统组件指标。
来自 kubelet、kube-state-metrics 和 cAdvisor 的指标必须都具有一个 cluster
标签,其值与 Mimir 指标中的值相同。
来自 Node Exporter 和 cAdvisor 的指标必须都具有一个 instance
标签,其值与 Mimir 指标中的 instance
标签值相同。
日志标签
“慢查询”仪表盘使用带有 Grafana Mimir 日志的 Loki 数据源来可视化慢查询。当 -query-frontend.query-stats-enabled
参数设置为 true
时,query-frontend 组件会记录查询统计信息。这些日志需要具有特定的标签才能使仪表盘工作。
标签名称 | 可配置? | 描述 |
---|---|---|
cluster | 是 | Mimir 集群正在运行的 Kubernetes 集群或数据中心。您可以通过 mixin 配置中的 per_cluster_label 字段配置 cluster 标签。 |
namespace | 否 | Mimir 集群正在运行的 Kubernetes 命名空间。 |
name | 是 | 组件名称。例如,query-frontend 。您可以通过 mixin 配置中的 per_component_loki_label 字段配置 cluster 标签。 |