SuperAPI AI 工具集

debug-buttercup

测试与质量

查看项目

更新于 10-16 07:15

技能介绍

用途:该技能面向在 Kubernetes 上运行的 Buttercup CRS(Cyber Reasoning System),用于诊断 crs 命名空间内的故障症状,例如 Pod 处于 CrashLoopBackOff、OOMKilled、反复重启、多服务同时重启(级联失败)、Redis 无响应或出现 AOF 警告、队列增长但任务不推进、节点出现 DiskPressure/MemoryPressure/PID 压力、build-bot 无法连接 Docker 守护进程(DinD 失败)、scheduler 卡住、健康检查探针失败、Helm 值与实际 Pod 配置不符等。不适用于部署或升级 Buttercup、调试 crs 命名空间之外的问题,以及不涉及故障症状的性能调优。

主要能力与用法:先做分诊,运行 kubectl get pods -n crs -o wide、kubectl get events -n crs --sort-by='.lastTimestamp' 及仅看 Warning 的事件,再用 kubectl describe pod、jsonpath 查看资源限制、kubectl logs 加 --previous/--since/--timestamps 区分历史问题和进行中问题。级联检测提示:Redis 宕机会导致各服务抛出 ConnectionError 并集体重启。日志分析可用标签批量聚合(如 -l app=fuzzer-bot --prefix)或流式跟踪。资源排查使用 kubectl top pods/nodes、查看节点 Conditions、在 Pod 内用 df、du 检查磁盘。Redis 调试包括查看 Pod 状态、日志、连接 redis-cli 执行 INFO、CLIENT LIST、DBSIZE、CONFIG GET 以及检查 /data 挂载。队列检查覆盖 fuzzer_build_queue 等 Redis stream,用 XLEN、XINFO GROUPS、XPENDING 及 SCARD 查看积压。健康检查依赖 /tmp/health_check_alive 文件新鲜度。另可检查 OTEL 环境变量与 Signoz、PVC、corpus_tmpfs 挂载及 Helm 值是否生效。仓库提供 bash deployment/diagnose.sh(加 --full 可附带日志,可用 BUTTERCUP_NAMESPACE 覆盖命名空间)和 bash deployment/collect-logs.sh 辅助收集信息。更详细的分服务症状见 references/failure-patterns.md。

限制:技能本身为调试指引,不负责部署或升级;部分命令选项和队列名称来自资料,实际取值以部署为准;未提供的价格、平台要求等信息暂未提供。