milvus-logo
LFAI
首页
  • 管理指南

Milvus 监控框架概述

本主题介绍 Milvus 如何使用 Prometheus 监控指标,以及如何使用 Grafana 可视化指标和创建警报。

Milvus 中的 Prometheus

Prometheus是用于 Kubernetes 实施的开源监控和警报工具包。它以时间序列数据的形式收集和存储指标。这意味着度量值在记录时带有时间戳,并与称为标签的可选键值对一起存储。

目前,Milvus 使用 Prometheus 的以下组件:

  • Prometheus 端点,用于从出口商设置的端点提取数据。
  • Prometheus 操作员,用于有效管理 Prometheus 监控实例。
  • Kube-prometheus 提供易于操作的端到端 Kubernetes 集群监控。

度量名称

Prometheus 中有效的度量名称包含三个元素:命名空间、子系统和名称。这三个元素用"_"连接。

Prometheus 监控的 Milvus 度量的命名空间是 "milvus"。根据度量指标所属的角色,其子系统应为以下八个角色之一:"rootcoord"、"proxy"、"querycoord"、"querynode"、"indexcoord"、"indexnode"、"datacoord"、"datanode"。

例如,计算查询向量总数的 Milvus 指标名为milvus_proxy_search_vectors_count

度量类型

Prometheus 支持四种度量类型:

  • 计数器:一种累积度量类型,其值只能在重启时增加或重置为零。
  • 仪表:一种度量类型,其值可以上升或下降。
  • 直方图:一种根据可配置的桶进行计数的指标。常见的例子是请求持续时间。
  • 摘要:与直方图类似的一种度量类型,可在滑动时间窗口内计算可配置的量化值。

指标标签

Prometheus 通过标签来区分具有相同度量名称的样本。标签是度量指标的特定属性。具有相同名称的度量值必须具有相同的variable_labels 字段值。下表列出了 Milvus 度量常见标签的名称和含义。

标签名称定义
"节点 ID角色的唯一标识。由 milvus 生成的全局唯一 ID。
状态已处理操作或请求的状态。"放弃"、"成功 "或 "失败"。
"查询类型读取请求的类型。"搜索 "或 "查询"。
"msg_type信息的类型。"插入"、"删除"、"搜索 "或 "查询"。
"段状态段的状态。"密封"、"增长"、"刷新"、"冲洗"、"丢弃 "或 "导入"。
"缓存状态缓存对象的状态。"命中 "或 "未命中"。
"缓存名称缓存对象的名称。该标签与 "cache_state "标签一起使用。例如 "CollectionID"、"Schema "等。
"通道名称消息存储(Pulsar 或 Kafka)中的物理主题。例如:"by-dev-rootcoord-dml_0"、"by-dev-rootcoord-dml_255 "等。
"函数名处理特定请求的函数名称。例如,"CreateCollection"(创建集合)、"CreatePartition"(创建分区)、"CreateIndex"(创建索引)等。
"用户名用于身份验证的用户名。用户名由用户自行决定。
"索引任务状态索引任务在元存储中的状态。"未发布"、"进行中"、"失败"、"已完成 "或 "已回收"。

Milvus 中的 Grafana

Grafana是一个开源的可视化堆栈,可以连接所有数据源。通过调出指标,它可以帮助用户理解、分析和监控海量数据。

Milvus 使用 Grafana 的可定制仪表盘进行指标可视化。

下一步

了解了监控和警报的基本工作流程后,请学习:

翻译自DeepLogo

反馈

此页对您是否有帮助?