SuperAPI AI 工具集

kubesense-logs

部署与运维

查看项目

更新于 10-16 06:22

技能介绍

用途:通过 KubeSense MCP 检索 Kubernetes 日志。使用前需先连接 KubeSense MCP 服务器,鉴权与 WHERE 子句通用参考见 kubesense-mcp;本模块工具按日志模块做 RBAC 校验。

主要工具:get-trace-or-log-fields(signal 设为 "logs",始终最先调用,返回当前时间窗口的字段目录);search-logs(读取单条日志行,默认 page_size 10);analyze-logs(返回计数、速率、趋势、百分位等聚合序列)。

必要用法:字段必须使用目录标签:type、instance、container、node、workload、namespace、cluster、body、format、source、region、app_version、env_type,共 13 个。禁止使用存储列名 level、pod_name、container_name、host,否则会被拒绝。日志无 service 字段(仅 traces 有),应用名用 workload。type 枚举须大写:ERROR、WARN、INFO、DEBUG、TRACE、FATAL、PANIC;format 为小写 json、klog、nginx。枚举大小写应查 get-trace-or-log-fields 的 enum_values 列,而非 example。

WHERE 支持 = != < > <= >= LIKE ILIKE SUBSTR_ILIE IN,配合 AND/OR/NOT 与括号;含 /、:、%、空格的值须双引号。NOT IN 不合法,应写 NOT (namespace IN (...))。属性用 @ 前缀(如 @user.id = abc-123);在 group_by_fields/fields/required_fields/sort_by 中改用 { "field": "user.id", "is_attribute": true }。exist() 不可用。

分页基于窗口(半开区间),无 offset:下次调用保持 from_time 与 where,将 to_time 设为返回行中的最小时间戳,精确到毫秒。多集群分页仅为抽样,需完整读取应固定单个集群并使用大 page_size。聚合问题应使用 analyze-logs,value_operation 用 row_count(不是 count)。body 仅可作过滤,不能分组;分组相似消息可用 pattern_id。

限制:触及 body、trace_id、span_id 或属性会走原始表,速度较慢;HAS_TOKEN 等操作符无 WHERE 语法。更详细信息暂未在本资料中提供。