SuperAPI AI 工具集

victoriametrics-cardinality-analysis

通用与其它

查看项目

更新于 10-15 22:10

技能介绍

用途:对 VictoriaMetrics 做系统性基数(cardinality)分析,定位高影响优化点——无人查询的指标、无监控价值却导致序列爆炸的标签,以及把错误信息、SQL 文本、UUID 等写入标签的数据卫生问题,最终产出带影响估算和具体修复配置的结构化报告。

主要能力:分三阶段工作。阶段一并行采集数据:TSDB 概览(昨日与今日序列数、按指标名/标签名/标签值对统计的序列数、focusLabel 采样)、指标使用统计(从未查询、查询≤5 次的指标,并与 /api/v1/rules 告警与记录规则交叉核对)、标签模式检查(唯一值数、高基数标签值对,识别 UUID、IP、长字符串、SQL 关键字、含 ID 的 URL 路径、时间戳、堆栈等模式)。阶段二分类分析:未使用指标(可丢弃/需核实/低优先级)、高基数标签、直方图桶膨胀、序列 churn(昨日/今日比值)。阶段三按模板输出报告,含概览表、各类别潜在节省序列数与占比、relabeling 与流聚合 YAML 配置、实施优先级。

使用方式:环境变量与 victoriametrics-query 技能一致,$VM_METRICS_URL 为基地址(集群如 https://vmselect.example.com/select/0/prometheus,单机如 http://localhost:8428),$VM_CURL_CONFIG 为含认证头的 curl 配置文件,无认证可不设。数据通过 curl 调用 /api/v1/status/tsdb、/api/v1/status/metric_names_stats、/api/v1/rules 获取;标签检查只用 TSDB status 端点,不用 /api/v1/labels 或 /api/v1/label/.../values。修复手段包括 metric_relabel_configs 的 drop、labeldrop、值归一化,以及 vmagent 流聚合(without 去除标签、outputs 选择 total、last、avg、sum_samples、quantiles 等)。

适用场景:Kubernetes 或自建 VictoriaMetrics 的序列数增长排查、写入成本优化、标签规范治理。

限制:metric_names_stats 需 vmstorage 开启 storage.trackMetricNamesStats,否则该部分不可用,仅能依赖 TSDB 状态数据;丢弃指标前必须核对告警与记录规则;流聚合的 drop_input 需先验证输出;直方图只能丢弃特定 le 值而非整个 le 标签;relabeling 建议先用 -dryRun 或单目标测试。具体价格、平台支持等信息资料未提供。