SuperAPI AI 工具集

kubesense-metrics

部署与运维

查看项目

更新于 10-16 06:22

技能介绍

用途:通过 KubeSense MCP 服务器查询 Kubernetes、基础设施与云厂商指标,用于资源压力、饱和度与容量分析(CPU、内存、磁盘、GPU 等)。

主要能力:三个工具——get-available-metrics 列出指标名(search_keywords 为 AND 匹配、大小写不敏感的子串,默认回溯 1 小时);get-metric-labels 列出某指标上的标签名(不含标签值);analyze-metrics 执行 PromQL(from_time、to_time、query_type、promql 均为必填,query_type 为 range 或 instant)。三者都按 infrastructure 模块做 RBAC 校验,权限错误表示调用方缺少基础设施访问权限。

必要用法:先发现再查询,顺序为 get-available-metrics → get-metric-labels → analyze-metrics,切勿猜测指标名。k8s/cAdvisor 指标的集群标签是 clusterId(驼峰),OTel hostmetrics 用 kubesense_cluster;container_* 指标必须过滤 container!='',否则重复计数;CPU 单位为核;kube_pod_container_resource_limits/requests 是单个指标,需用 resource="cpu"|"memory" 选择;kube*_status_phase/_condition 状态编码在标签里,计数前需 max by (...) 去重。步长自动计算为 max(window/30, 15) 秒,不可设置。区间宏只实现了 $__rate_interval、$__interval、$__time_filter;$__interval_ms、$__range 不可用。后端为 VictoriaMetrics,支持 default 0、drop_empty_series、[1h:60s] 子查询等 MetricsQL 扩展。

云指标:所有云厂商数据点存在单一系列 kubesense_cloud_resource_metric,厂商指标名放在 metric_name 标签,需用 count by 发现而非 get-available-metrics;固定标签含 provider、account_id、resource_id、resource_type、metric_name、unit 等,没有 clusterId/namespace/pod。云指标不可用 rate(),且需将 resource_type 与 metric_name 一起固定;采集为 5 分钟一次、向前填充 15 分钟,窗口建议不低于 10m。

适用场景:确认资源使用趋势、容量规划、按命名空间/负载聚合、直方图分位数与 Top-N;请求延迟、错误率等按请求粒度的问题应走 traces,Pod 重启等事实性问题应走 kubesense-infra 工具。

限制:空结果只表示“没有匹配的序列”,不等于数值为零;稀疏指标需放宽发现窗口;应用指标完全取决于部署。详细指标目录见 references/metric-catalog.md 与 references/cloud-metric-catalog.md。